偷李子的小偷 江铭辉 五梦网
有一小偷进入一家李子园,他偷了若干李子,这李子园共有7道门,要经过每道门才能到外面,但看守的守门员要求小偷要将手上所有李子加一个的一半给他,他才让小偷通过。这小偷通过层层7道关卡,当他走出第7道门时,手上只剩下一个李子,请问这小偷,最初偷了几个李子?
解答:
这问题有二个解法,一个是直接解法,先从小偷的原始偷x个解起,另一个从小偷走出第7道门时,手上只剩下一个李子往后推,解法如下:
1. 直接解法
设小偷最初偷了x个李子,则经
第1道门小偷剩下李子:x-(x+1)/2=(x-1)/2
第2道门小偷剩下李子:(x-1)/2 -[(x-1)/2+1]/2=(x-3)/4
第3道门小偷剩下李子:(x-15)/8
第4道门小偷剩下李子:(x-31)/16
……
……
……
第7道门小偷剩下李子:(x-127)/128
所以(x-127)/128=1,即:
x-127=128;
x=255
2. 倒推法
因为小偷在经第7道门时,手中只剩一颗李子,由此可知,他给第7道守门员2颗李子,因此在出第六道门时,他身上有2+1=3颗李子,也就是他给第6道守门员4颗李子,因此我们可以假设他出第K+1道门时,身上有a颗李子,则出第K道门时,身上有2a+1颗李子。如下表:
门
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
最初
|
出门
李子
|
1
|
3
|
7
|
15
|
31
|
63
|
127
|
255
|
因此由上表可知,他最初偷得255颗李子。
这个问题出自婓波那契的算盘书。