为了简化问题,我们把问题等价于:
1.若两堆球数都是偶数,则两堆球数同时÷2;再进行判断;(注意此时球总数为2^(n-1) ).
2.若两堆球数都是奇数,则按规则:"若甲堆的球数r不少于乙堆数q,则从甲堆拿q个放到乙堆.".即挪动一次. 然后再按照第一条规律进行.
这样等价的理由是:两堆球数的比例关系不变.
///容易理解,当两堆中数量为一奇一偶的情况时,只能是一个为0,一个为1.(2^0=1+0=1).这样已经是在一堆上了.///
因为两堆都是奇数时,从甲堆拿q个放到乙堆,则乙堆为2q是偶数;甲堆为2^n-2q也是偶数,则可执行第一条规律.即第二条规律必然伴随着第一条规律.因其中还有"挪动一次"事件,所以我们不妨把一次"第二条+第一条规律"看作一次循环.
即每次循环的结束标志是执行了第二条规律;
——换句话说,每执行一次第二条规律,就完成一次循环.
(注意1:可以不执行第一条规律)
因为n是有理数,所以每执行一次循环后,球的总数都÷2;当执行了s个循环后,球的总数为2^(n-s).
(注意2:除完之后,两堆中球数仍然是同奇同偶——直到最后一次循环)
则:
当执行到第n次循环时,球的总数为2^(n-n)=1.
这样就进入了上面说到的唯一的一种“两堆中数量为一奇一偶的情况”,即“只能是一个为0,一个为1.”
于是此时就把所有的球合成一堆了.
(注意3:这只是个“缩小的模型”:因为有的关系——这个问题中主要涉及的是比例,不是数量. 若想得到原数,只需再乘以2^n)
由此可知,总共需要挪动n次.
(注意4:如果还不懂“÷2”的意义,不妨在每一步最后即每个循环最后把每一堆中每两个小球捆绑成一个“大球”,然后再把每个“大球”看作一个“小球”进行下一循环.……当所有的球全部都绑在一起时,就知道,都在一堆里了)
(注意5:如还有不懂,欢迎来问)