编程之美--4.6 桶中取黑白球

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

来源:http://blog.csdn.net/hardbrave/article/details/7005652

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

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

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

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

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

思路1:找规律

    使用(黑球个数, 白球个数)来表示桶中黑球和白球的个数变动,正数表示增加,负数表示减少,根据规则找规律:

1、如果每次从桶里面拿出两个白球,则应放入一个黑球:(0, -2) + (1, 0) = (1, -2);

2、如果每次从桶里面拿出两个黑球,则应放入一个黑球:(-2, 0) + (1, 0) = (-1, 0);

3、如果每次从桶里面拿出一个白球和一个黑球,则应放入一个白球:(-1, -1) + (0, 1) = (-1, 0);

    从以上各种情况可以看出以下规律:

1)每次都会减少一个球,那么最后的结果肯定是桶内只剩一个球,要么是白球,要么是黑球;

2)每次拿球后,白球的数目要么不变,要么两个两个地减少;

    所以,从上面的分析可以得知,最后不可能只剩下一个白球,那么必然就只能是黑球了。

思路2:使用数学方法

    根据取球规则联想到数学中异或(XOR):

1、两个相同的数,异或等于0;

2、两个不同的数,异或等于1;

    将黑球看作0,白球看作1,那么对于每次的操作可以做这样的想象:每次捞起两个数字做一次异或操作,并将所得的结果再次丢回桶中,因此最后的结果实际上相当于把所有的球都进行一次异或运算,最后所得的结果即为最后剩余的球。

    异或运算规律:

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

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

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

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

    对于复杂问题的分析,最有效的方法就是通过简单的例子进行归纳,然后根据实际归纳出的结论进行结果分析,而适当的数学抽象在解决问题的过程中往往有画龙点睛的作用。

黑白(编程) 阅读详情

相关推荐

100对黑白问题的多种思路

编程》的概率题:一个里面有白、黑各100个,现在按下述规则: i 、每次从通里面拿出来两个; ii、如果出的是两个同色的,就再放入一个黑; ii、如果出的是两个异色的,就再放入一个白。 问:最后里面只剩下一个黑的概率是多少?第一种方案(只关注一种的变化): i.如果出的是两个白,白减少2个。 ii.如果出的是两个黑

liuhuiyan_2014的专栏 2331

来自《编程》的概率题:一个里面有白、黑各100个,现在按下述规则

题目:有一个,里面有白、黑各100个,人们必须按照以下的规则把出来: 1、每次从里面拿出来两个; 2、如果是两个同色的,就再放入一个黑; 3、如果是两个异色的,就再放入一个白; 问:最后里面只剩下一个黑的概率是多少?

u013682388的专栏 6250

编程黑白+SOJ-3261

SOJ-3261只是把黑和白交换,对于SOJ来说,结果只和黑数量有关,而下面的只和白数量有关。 【题目描述】 有一个,里面有白、黑各100个,人们必须按照以下的规则把出来: 1、每次从里面拿出来两个; 2、如果是两个同色的,就再放入一个黑; 3、如果是两个异色的,就再放入一个白; 问:最后里面只剩下一个黑的概率是多少? 【解题思路】 思路1:找

famousDT的专栏 1187

黑白问题

有一个,里面有白、黑各100个,人们必须按照以下规则把出来: 每次从里面拿两个 如果是两个同色的,就再放入一个黑; 如果是两个异色的,就再放入一个白。 问题是:最后里面只剩下一个黑的概率是多少? 针对这样一个问题,我们有两种不一样的解法: 方法一: 首先,我们可以通过相应的数学式来建立与上述三个条件等同的表达方式。在这里,我们可以使用集合的概念来表示,如...

weixin_30340353的博客 311

概率题之黑白问题

问题 题目:有一个,里面有白、黑各100个,人们必须按照以下的规则把出来: 1、每次从里面拿出来两个; 2、如果是两个同色的,就再放入一个黑; 3、如果是两个异色的,就再放入一个白; 问:最后里面只剩下一个黑的概率是多少? 思路 我开始遇到这道题时是懵逼的,因为用常规的方法比如推导概率公式是很难求解的。合理的思路有两种,下面我来分别介绍一下。 1.找规律 使用D=(黑变化数,白变化数)来记录每一轮拿后两类的变化情况。 情况1.里拿出两个黑,那么意味着放入一个黑

weixin_44607838的博客 4767

、白各100,最后剩下一个是黑的可能性|编程&百度&腾讯

今天周末,不清楚发啥,就来看一道大厂常用于考察候选人逻辑思维性的题目吧????‍♀️????‍♂️下面进入正题????一个里面有白.各 100 个,现在按下述的规则:i . 每次从里面拿出来...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 470

编程 4.6黑白

问题:有一个,里面放有白、黑各100个,人们必须按以下规则出: 1.每次从出两个 2.如果两个同色,就放入一个黑 3.如果两个异色,就放入一个白 最后里只剩下一个黑的概率是多少? 解法一: 原理:先将问题的规模缩小,然后枚举其操作的过程,找出规律,其实就是归纳法。 原命题的黑白各100,我们可以设为黑白各2个来看看,下面以这种方式表示(黑,白)的数目...

ZWM990425424的博客 317

编程4.6 | 黑白

各100个,每次两个,同色则放入黑,不同色则放入白。问最后一个是什么? 思想很巧妙,类比成100个1和100个0,黑为0,白为1.最终结果为所有的数的异或。 如果黑白各奇数个,异或值为1,最终剩下白; 如果黑白各偶数个,异或值为0,最终剩下黑。 转载于:https://www.cnblogs.com/linyx/p/4002609.html...

weixin_33973600的博客 113

编程:第四章 数字之趣 4.6黑白

/* 黑白: 有一个,里面有白,黑各有100个,人们按照以下规则把出来: 1每次从里面拿出两个 2如果是两个同色的,那么就放入一个黑 3如果是两个异色的,就再放入一个白 问:最后里面只剩下一个黑的概率是多少? 分析: 简化规模,从简单到难来找规律。先假设4的情况。 解法1: 假设里面各有2个白和黑。用一个set(黑数目,白数目)表示里面黑白

qingyuanluofeng的专栏 834

读书笔记之编程--4.6 黑白

source:http://blog.csdn.net/hardbrave/article/details/7005652 题目:有一个,里面有白、黑各100个,人们必须按照以下的规则把出来: 1、每次从里面拿出来两个; 2、如果是两个同色的,就再放入一个黑; 3、如果是两个异色的,就再放入一个白; 问:最后里面只剩下一个黑的概率是多少?

xiyanxiyan10的专栏 721

读书笔记之编程 - 4.6 黑白

其实从题意已经决定最后会走到XOR的道路上,两个同色的是一种情况,两个异色的是另一种情况。 对于解法一,找到(-1, 0)和(1,-2)的规律后就差不多了 对于解法二,想到可以把所有的进行异或操作确实不容易,不过这也和题意有关,得到结果后还要放进去,这样就满足了XOR的计算后的“左值”可以连续参与计算的条件。 扩展问题都已经有答案了,就不分析了。

山高月小 1107

C#之黑白问题

编程》284页,问题4.6黑白。 有一个,里面有白、黑各100个,人们必须按照以下规则把出来: 1. 每次从中拿两个; 2. 如果两同色,再放入一个黑; 3. 如果两异色,再放入一个白; 问:最后里面只剩下一个黑的概率是多少? 于是我开始分析,里装,每次摸是随机的,所以不能用队列和栈,那就用万能的动态列表来做吧。按照题目描述的...

aab438346的博客 354

编程黑白

首先是题目概述:         有一个,里边有白,黑各100个,必须按照如下规: 1、每次从里拿出2个; 2、如果两个是同色的,就往里放入一个黑; 3、如果两个是异色的,就再放入一个白; 问:最后里边只剩下一个黑的概率是多少? 具体分情况讨论: 1、两个都是黑,则需要放入1个黑。及剩下黑白求的数量是(100-2+1,100)->(99,100)...

liuhong3707的博客 615

编程》之黑白

本次解析的是2013年8月百度的一道面试题,题目来自《编程》的概率题: 有一个,里面有白、黑各100个,人们必须按照以下的规则把出来: 1、每次从里面拿出来两个; 2、如果是两个同色的,就再放入一个黑; 3、如果是两个异色的,就再放入一个白; 问:最后里面只剩下一个黑的概率是多少? 思路1:找规律     使用(黑个数, 白个数)来表示中黑和白

布道师的使命 751

黑白

题目 有一个,里面有白、黑各100个,现在按下述规则: 每次从里面拿出来两个; 如果是两个同色的,就再放入一个黑; 如果是两个异色的,就再放入一个白。 问:最后里面只剩下一个黑的概率是多少? 解题思路...

chenzheng8020的博客 507
上一篇: 国内著名IT公司(百度、搜狗、网易、新浪)2012校园招聘笔试、面试小结
下一篇: memcopy memmove strcpy的基本知识
skyming
博客等级 码龄15年 249粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值