C语言编程:六人捕鱼问题 - 算法详解及求解
思路:反向思考,假设他们最初捕到的鱼总数为x条,那么A醒来时剩下的鱼数为$rac{5}{6}x+1$,则A分给每个人的鱼数为$rac{1}{6}(rac{5}{6}x+1)$。B醒来时剩下的鱼数为$rac{5}{6}(rac{5}{6}x+1)+1$,则B分给每个人的鱼数为$rac{1}{6}(rac{5}{6}(rac{5}{6}x+1)+1)$。以此类推,最后F分给每个人的鱼数为$rac{1}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}x+1)+1)+1)+1)+1)$。由题意可知,每个人最后拿到的鱼数都是相等的,所以可以列出方程:
$$\begin{aligned}\frac{1}{6}(rac{5}{6}x+1)&=rac{1}{6}(rac{5}{6}(rac{5}{6}x+1)+1) &=rac{1}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}x+1)+1)+1) &=rac{1}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}x+1)+1)+1)+1) &=rac{1}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}x+1)+1)+1)+1)+1) &=rac{1}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}(rac{5}{6}x+1)+1)+1)+1)+1)+1)\end{aligned}$$
解方程得到$x=194$,即他们最初捕到的鱼数为194条。每个人最后拿到的鱼数为32条,而他们实际上分到的总鱼数为$6 imes 32=192$条,因此他们至少要补充2条鱼。
原文地址: https://www.cveoy.top/t/topic/oZun 著作权归作者所有。请勿转载和采集!