黑球,白球各100,问最后剩下一个是黑球的概率。

2024-06-04 20:18
文章标签 黑球 白球 100 概率 剩下

本文主要是介绍黑球,白球各100,问最后剩下一个是黑球的概率。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来:

1、每次从桶里面拿出来两个球;

2、如果是两个同色的球,就再放入一个黑球;

3、如果是两个异色的球,就再放入一个白球;

问:最后桶里面只剩下一个黑球的概率是多少?

解法一:

我们可一个用一个set(黑球数量,白球数量)来表示桶中的黑球和白球的个数。从桶中取出球后,只可能是下列三种操作:

  1. 取出的是两个黑球,则放回一个黑球:(-2, 0) + (1, 0) = (-1, 0)
  1. 取出的是两个白球,则放回一个黑球:(0, -2) + (1, 0) = (1, -2)
  2. 取出的是一黑一白,则放回一个白球:(-1, -1) + (0, 1) = (-1, 0)

根据上面的规则,我们可以发现:白球的数量变化情况只能是不变或者-2,也就是说,如果是100个白球,白球永远不可能是1个的情况,那么问题的解法就很简单了,就是只剩下黑球的概率为100%

 

解法二:

两个相同的球异或等于0,两个不同的球异或等于1

将黑球赋为0 白球赋为1.

下面给出异或运算的一些常识:

    异或运算规律:

1)偶数个1异或,结果为0;

2)偶数个0异或,结果为0;

3)奇数个1异或,结果为1;

4)奇数个0异或,结果为0:


可以作这样的抽象:每次捞出两个数字做一次异或操作,并将所得的结果丢回桶中。

因此最后的结果实际上相当于把所有的球都进行一次异或运算,最后所得的结果即为最后剩余的球。

就有可能是0 xor 1 xor 1 ……之类的情况,又因为异或满足结合律,上式可变为:

(0 xor 0 ……xor 0) xor (1 xor 1 ……xor 1)两边都是100个,结果就是0

所以只能是黑球

扩展问题:

1.如果桶中的球分别为99个,那么结果会怎样?

根据异或的结果 最后的球一定是白球

2.如果黑白球的数量不定,结果又会怎样?

a个白球 b个黑球

a为奇数时异或为1,a为偶数时异或为0

b无论奇偶都是0

所以当白球为奇数时,最后一定取出白球,白球为偶数时,最后一定取出黑球。

这篇关于黑球,白球各100,问最后剩下一个是黑球的概率。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031016

相关文章

剑指offer(C++)--孩子们的游戏(圆圈中最后剩下的数)

题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去

概率之常用概率分布

1. Bernoulli分布 单个二值随机变量的分布。它由单个参数控制,给出了随机变量等于1的概率。它具有如下的一些性质。 2. Multinoulli分布 Multinoulli分布(multinoulli distribution)或者范畴分布(categorical distribution)是指在具有k个不同状态的单个离散型随机变量上的分布,其中k是一个有限值。

概率之基础概念

1 概率分布(probability distribution) 用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。描述概率分布的方式取决于随机变量是离散的还是连续的。 离散型变量和概率质量函数(probability mass function, PMF) 离散型随机变量的概率分布可以用PMF来描述。通常使用大写字母P来表示PMF。例如。 PMF将随机变量能够取得的每个状

求13x+12y=100;x+45=90的解,找到一个满足的解就行(break跳出循环)

#include<stdio.h>#include<stdlib.h>//break语句不能用在循环语句和switch语句之外的语句int main(){//x>0,y>0 ,求:x,y 且是整数 //13x+12y=100:即13i+12j=100,即12j=100-13ifor(int i=0;i<100;i++){printf("%d\n",i);if((100-13*i)%12==

oracle创建一个带参数的存储过程:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水

--创建一个带参数的存储过程--为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水/*beginraisesalary(6755);raisesalary(4456);commit();//这里提交,所以说我们一般不会在存储过程或者存储函数中写提交,end;/*/--host cls--先创建表emp和插入数据,显示表的结构用desc 表名--create table empcr

Python-算法编程100例-前缀和双指针(入门级)-最长的指定瑕疵度的元音子串

题目描述: 元音字符为“aeiouAEIOU” 给定一个字符串,求字符串中满足指定瑕疵度的最长元音子串的长度。元音子串为字符串中开头和结尾都是元音字符的字符串,瑕疵度为子串中非元音字符的个数。 题目分析: 1、直接使用双指针,难度稍微有些大,边界不好处理。 2、使用前缀和+双指针,题目难度简化。 瑕疵度k=0原始字符串asdbuiodevauufgh元音字符到起始位置的瑕疵度00003

概率p输出1,概率1-p输出0,等概率输出0和1

有个输出0和1的BIASED RANDOM,它以概率p输出1,以概率1-p输出0,以此RANDOM函数为基础,生成另一个RANDOM函数,该函数以1/2的概率输出1,以1/2的概率输出0 题目解答: 两次调用该RANDOM函数,如果其概率为P(x),调用2次 P(1) = p       P(0) = 1-p P'(1) =p      P'(0) = 1-p 概率如下: 11

【LeetCode热题 100】螺旋矩阵

leetcode原地址:https://leetcode.cn/problems/spiral-matrix/description 描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2:

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的巡演(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1073 🌍 评测功能需要 ⇒ 订阅专栏 ⇐

凯迪仕霸榜全渠道TOP1 全域曝光100亿

618年中狂欢盛典,已正式落下帷幕。智能锁行业领头羊凯迪仕,凭借过硬的科技产品力和品牌势能,在全域流量加持以及传奇大师K70新品强势曝光之下,霸榜天猫、京东、抖音各平台,稳居各类型榜单榜首,继续以行业领先优势领跑行业。 1、全渠道霸榜TOP1 据凯迪仕智能锁官方发布的618战报显示,凯迪仕霸榜天猫、京东、抖音各平台,稳居各类型榜单榜首。整体来看,此次618,凯迪仕交出了一份亮眼答卷