算法题目------【一个桶内100个白球,100个黑球,最后一个是黑球的概率是多少?】
2015-01-12 18:00
1151 查看
今天看到一个有意思的题目,听说是《编程之美》中的一道题,瞬间感觉自己又落后了很多。今天就拿出来分享下我在这道题目的感悟!
原题大意:一个桶内放有100个黑球,100个白球。按照下面的顺序拿出桶内的球:
1.每次拿出2个球;
2.若为同色球则放回一个黑色的球;
3.若为不同色的球则放回一个白球。
我第一眼看到大脑很兴奋,这不就是高中的时候的概率题目吗?然后就提笔开始下面的神算,结果我就不说了。反正是花了挺长时间的。后来翻看的他的答案,我瞬间有种跳楼的感觉。人间只用三言两语就搞定的问题,我花了长篇大论竟然结果是错的。总之我什么都不说了,下面给大家分析下问题的答案:
首先我们看到问题不要蛮干,要先学会分析问题,我们按照他的流程可以得出下面的结果:
1.每次都会拿出一个球,最总桶内就只会剩下一个球。(在这里我们已经有50%的答案了,
下面我就可以把答案得出来)
2.注意在第2、3步的时候,我们其实可以发现白球每次数量的变化是成双或者是0.
所以最后不可能有一只白球落在桶里。(现在我们100%的确定最后是黑球)
对就是这么的简单,这就是区别,就好像我们从A到B本来只有100米,但是你非要绕出1000米的路,可能在现实生活会说你在享受生活的过程,但是我们这是在解决问题,越快解决问题,而且方法越简单,这才是我们最终想要的结果。so,有时候我们需要灵活一些,不要遇到问题把他越搞越复杂。最总你做出呃东西一定是会很快就淘汰掉了。
原题大意:一个桶内放有100个黑球,100个白球。按照下面的顺序拿出桶内的球:
1.每次拿出2个球;
2.若为同色球则放回一个黑色的球;
3.若为不同色的球则放回一个白球。
我第一眼看到大脑很兴奋,这不就是高中的时候的概率题目吗?然后就提笔开始下面的神算,结果我就不说了。反正是花了挺长时间的。后来翻看的他的答案,我瞬间有种跳楼的感觉。人间只用三言两语就搞定的问题,我花了长篇大论竟然结果是错的。总之我什么都不说了,下面给大家分析下问题的答案:
首先我们看到问题不要蛮干,要先学会分析问题,我们按照他的流程可以得出下面的结果:
1.每次都会拿出一个球,最总桶内就只会剩下一个球。(在这里我们已经有50%的答案了,
下面我就可以把答案得出来)
2.注意在第2、3步的时候,我们其实可以发现白球每次数量的变化是成双或者是0.
所以最后不可能有一只白球落在桶里。(现在我们100%的确定最后是黑球)
对就是这么的简单,这就是区别,就好像我们从A到B本来只有100米,但是你非要绕出1000米的路,可能在现实生活会说你在享受生活的过程,但是我们这是在解决问题,越快解决问题,而且方法越简单,这才是我们最终想要的结果。so,有时候我们需要灵活一些,不要遇到问题把他越搞越复杂。最总你做出呃东西一定是会很快就淘汰掉了。
相关文章推荐
- 袋中有红球和白球共n个,随机拿100个球,拿到红球的概率是80%,那拿25个球,问拿到红球的概率是多少?A.1/2 B.1/3 C.1/4 D.1/5
- 【算法题】题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度
- 题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来:
- 来自《编程之美》的概率题:一个桶里面有白球、黑球各100个,现在按下述规则取球
- 如果一个箱子里面有100个球,有两个玩家,1和2,他们都很聪明,可以随机从箱子里面拿出2或6个球,箱子是透明的并且箱子里面有多少个球他们也可以看得到 ,如果算最后一个球能被谁拿到,谁就是
- 根据游戏规则算出一个屋里有多少个桌子多少个人的算法
- 一个计算活了多少天的小算法
- Java算法总结:输入一个整数,求该整数的二进制表示中有多少个1
- 每天学习一算法系列(25)(一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级,求总共有多少总跳法,并分析算法的时间复杂度。)
- 给你一个链表和一个 random函数, 设计一个算法能随机返回链表的某个节点, 要求每个节点被返回的概率一样。限制条件是只能遍历链表一次并且不能用额外空间。
- 一个笔试题目,望更方便的算法
- 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- 一个算法题目
- java经典算法_012一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
- 100个黑球和100个白球问题---扩展思维
- 一个概率题:54张扑克牌,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率是多少?
- 一瓶啤酒1块钱,两个空瓶能换1瓶啤酒,我有20块钱,请问我能买多少瓶啤酒?请写一个算法。
- 算法的强大——快速计算一个正二进制整数中包含多少个1
- 5、 有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少?
- 一个十分有趣的字符串算法题目(转On April 19, 2011, in 算法, by sponge)