• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

如何解决这个问题:黑球与白球问题?经典啊!!!

daou101 2003-08-12 08:08:46
盒子中有100个黑球,100个白球
规则:1.每次只准拿2个球
   2.若同色,则从另外的地方拿个白球放入
    若不同色,则从另外的地方拿个黑球放入
问:最后拿的那个球是什么颜色?为什么?有几种情况?为什么?
...全文
342 点赞 收藏 39
写回复
39 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jurkey 2003-08-19
设白球为0,黑球为1
m个白球n个黑球。
m&0+n&1= 0为白球
1为黑球
回复
zdsa 2003-08-18
问题早就解决了。为什么还议论不休???
不明白
回复
极限999 2003-08-18
观注
回复
jurkey 2003-08-18
推广:
1.m个黑球m个白球,如果m为偶数,答案是白球;如果m为奇数,答案是黑球。
2.m个黑球n个白球(m>n):
(1)n为奇数,取完球后,剩下m-n+1个黑球,如果m-n+1是奇数,则剩下是黑球,否则,剩下的是白球;
(2)n为偶数,取完球后,剩下m-n-1个黑球,同上。
3.m个白球n个黑球(m<n):
(1)n为奇数,取完球后,剩下m-n个白球1个黑球,最后剩下肯定是黑球;
(2)n为偶数,取完球后,剩下m-n+1个白球0个黑球,最后剩下肯定是白球。
结论:黑球的个数是奇数个,不论白球多少个,最后肯定是黑球;
黑屋的个数是偶数个,不论白球多少个,最后肯定是白球。


回复
jurkey 2003-08-18
我想可以这么解,先简单化:
1.如果盒子里只有1个黑球,1个白球。那么拿走了不同颜色的球,放入一个黑球,最后盒子里只有一个黑球了。
2.如果盒子里有2个黑球,2个白球。
(1)取走2个黑球,剩下了3个白球,最后只有1个白球;
(2)取走2个白球,剩下2个黑球1个白球:
a)取走2个黑球,剩下2个白球,拿走2个白球,剩下1个白球;
b)取走1个黑球1个白球,放入1个黑球,只剩下2个黑球,拿走后,剩下1个白球;
(3)取走1个黑球1个白球,放入1个黑球,剩下2个黑球1个白球,同上,结果是黑球。

可以这么认为:
将100个黑球和100个白球分成50堆,每堆2个黑球2个白球,每堆的取球规则只有上面第2步的三种情况,取完球后,每堆剩下1个白球,共50个白球,同种颜色取球,最后剩下1个白球。




回复
chsl918 2003-08-18
我想程序是不能说明任何问题的!
zhouxiaochenchina() 同学不如将你程序核心部分贴出来大家看看不就得了!
TO: zhouxiaochenchina() 我上次问你的问题还没有回答那!
25个白的就算是奇数也没有黑的球再出现的可能了!那么你最终结果的黑是怎么得出来的呢?
回复
daou101 2003-08-18
看了这么多回答,没有看到人用 复数方程的方法解这个问题,遗憾。
这个问题也以用一个复数方程解的
回复
administr 2003-08-16
zhouxiaochenchina() 你写的程序是错误的,答案是白球。
如需要我可以将我写的c#程序发给你
回复
daou101(海天一鸥)
你太自信了,
结果就是不固定的,
回复
我写了个程序,模拟随即取球,发现结果是不固定的,
有时候是白的,有时候又是黑的,

如果需要看我的程序,和我联系email johnnyzhou_chn@163.com
我是用Delphi写的
回复
gd4134 2003-08-15
都有可能,你可以用个很简单的方法试试,因为在剩下的球很有可能是两种颜色,也有可能是一种颜色。
回复
daou101 2003-08-15
你写的程序是错误的,答案是白球。
回复
abiho 2003-08-14
呵呵
写一个程序,随机产生黑球/白球
1、要是一万次结果都是白的,就是白的;
2、要是一万次结果都是黑的,就是黑的;
3、以上两种都不是,就是不确定。

有时候聪明反而得不到答案!
回复
calmzeal 2003-08-14
微软给的答案:
对于盒子中的:
 white =0(偶) ;black=1(奇);
0+0=0;(偶)
1+1=0;(偶)
1+0=1;(奇)拿出去的却是偶
100*0+100*1=100(偶)
拿出去的部分是偶性质,那么最后那个必需是个偶性质
微软盗版我的想法。。。。
回复
to chs1918

昨天我花了一个小时用Delphi写了个程序,结果出来了,
结果应该是不固定的,有可能是白,有可能是黑,

我模拟人随即取数,做出来的。
回复
administr 2003-08-14
白球是每次都增1或减1,黑球每次不变或减2,所以最后的结果是由黑球的数量决定的
回复
administr 2003-08-14
最后剩球情况是由白球的数量决定的
回复
liduke 2003-08-14
真的很经典
回复
maomaoysq 2003-08-14
I thank the result is the white one.
回复
jiutiao 2003-08-14
白的
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-08-12 08:08
社区公告

让您成为最强悍的C#开发者