首页 > 代码库 > 猴子摘桃

猴子摘桃

问题描述:

  一只猴子摘桃子,摘累了,决定休息一下再分桃子。过了一会,来了一只猴子,把所有桃子均分成了5份,结果多了1个,就把多出的吃了,然后拿走了其中的一份;过了一会,又来了一只猴子,它并不知道前面已经有猴子来过了,也把所有桃子均分成了5分,结果多了1个,就把多出的吃了,然后拿走了其中的一份;后面的第3、4、5只猴子也是同样的道理,分5份,吃一个,拿走一份。问这堆桃子最初总共至少有几个?最后又会剩几个?

问题解析:

  第一只:5A1 + 1;

  第二只:5A2 + 1 = 4A1

  第三只:5A3 + 1 = 4A2

  第四只:5A4 + 1 = 4A3

  第五只:5A5 + 1 = 4A4

  最后剩余桃子数量:4A5

解法分析:

  如果直接计算A1——A5,势必使计算非常复杂。仔细观察,可以发现如下关系:

  5(A2 + 1) = 4(A1 + 1);

  5(A3 + 1) = 4(A2 + 1);

  5(A4 + 1) = 4(A3 + 1);

  5(A5 + 1) = 4(A4 + 1);

  => A5 + 1 = 4(A4 + 1)/5 = ... = 44(A1 + 1)/54

  => A1最小为54 - 1 = 624,此时A5 = 255

  => 桃子最初至少有3121个,最后剩1020个。

结果相关:

  等比数列:又称几何数列。是一种特殊数列。它的特点是:从第2项起,每一项与前一项的比都是一个常数。

猴子摘桃