c语言水手分椰子3121
㈠ 五猴分桃(求通俗解法)
那个最佳答案的确是错的,他第一步假设是第五只猴子看到了1*5+1=6个桃子,第二步是推论第四个猴子看到桃子时应该有6*5+1=31个,这里就错了!他错在第二步了。
每个猴子都是吃一个桃子后带走1/5的桃子,留下4/5的桃子,所以6个桃子是4/5,那个最佳答案把6只桃子当成了1/5。第四只猴子看到的桃子数应该是6*5/4+1=8.5个,非整数,所以假设不成立。
解法:设最后有桃子A个。
5/4A+1=B(B是第4个猴子留下的个数)
1.25B+1=C(C是第3个猴子留下的个数)
1.25C+1=D(D是第2个猴子留下的个数)
1.25D+1=E(E是第1个猴子留下的个数)
1.25E+1=F(F是最开始的个数)(ABCDEF都是整数)
代入消元得方程:[(3125A+1845)/256]+1=F
[7+12A+(53+53A)/256]+1=F
[7+12A+(A+1)53/256]+1=F
当A+1=256,A最小
∴ A=255 F=3121
㈡ 我想问一下五个水手分椰子的问题,不说c语言,现在我觉得3121也是答案,能解释一下吗
五个水手分椰子的问题,是一个经典的数学问题。根据描述,每个水手都会将椰子分成五等分,并且会将多出来的一个椰子给猴子,同时自己藏起一堆椰子。问题要求我们计算出最初有多少个椰子。
为了解决这个问题,我们可以反向思考,从最后一个水手开始推算。第五个水手将椰子分成五等分后,多出一个给猴子,这意味着在分之前,椰子的数量应该是5的倍数加4。第五个水手拿走了一部分,剩下的是4的倍数。
第四个水手同样将椰子分成五等分,多出一个给猴子,那么在分之前,椰子的数量也应该是5的倍数加4。我们继续这个过程,每个水手都遵循相同的规则。
通过逆向计算,我们可以得到最初椰子的数量。具体步骤如下:
1. 第五个水手分后,剩下的椰子数量是1020个(因为这是4的倍数)。
2. 第四个水手分前,椰子数量是1020 * 5 + 4 = 5104个。
3. 第三位水手分前,椰子数量是5104 * 5 + 4 = 25524个。
4. 第二位水手分前,椰子数量是25524 * 5 + 4 = 127620个。
5. 第一位水手分前,椰子数量是127620 * 5 + 4 = 638104个。
所以,最初有638104个椰子。这个结果与3121无关,3121可能是某个中间步骤的产物或者是错误的记忆。正确的计算过程如上所述。