在Guo Jing的Blog上看到这样一个数学问题 给定一个盛有一些黑色豆子和一些白色豆子的咖啡罐以及一大堆额外的黑色豆子,重复以下过程,直至罐中仅剩一颗豆子为止。 从罐中随机选取两颗豆子,如果颜色相同,就将它们都扔掉并且放入一个额外的黑色豆子,如果颜色不同,就将白色的豆子放回罐中,而将黑色的豆子扔掉。 证明该过程会终止。最后留在罐中的豆子颜色与最初的罐中的白色豆子和黑色豆子的数量有什么数学关系。 (via) 用循环的算法写出代码后,他写到 也就是说,无论我们怎么拿豆子,白色的豆子的取出的过程都是,2个,0个,2个,0个。 也就是说,白色的豆子为偶数个的时候,留下的一定是黑色,而白色豆子为奇数的时候,留下的一定是白色! 道理是对的,但是证明过程似乎有点简略了。