摘要: 一个袋子里有100个黑球和100个白球,每次从袋子里面取出两个球扔掉,规则如下:如果取出的两个球颜色相同则放入袋中一个黑球,不同则放入一个白球。例如:从袋子中取出一白一黑两个球,那么则将这两个球扔掉,然后重新放回袋子中一个白球。如果取出两个白球,则放回一个黑球。问题:最后剩余的一个球的颜色是黑色还是白色?出自《编程之美》思路:1.问题抽象:相同为黑,不同为白,您能想到某种计算机位操作吗?异或,好吧,我没有想到。设白球为1,黑球为0,那么取球的规则就被简化为对100个0和100个1做无序的异或操作。假如您只知道异或操作的性质想必您一定知道了答案。不知道也没有关系2.问题归纳简化1)假设袋子中只有 阅读全文
posted @ 2011-03-30 12:05 樱色布 阅读(1079) 评论(5) 推荐(0) 编辑