本文主要是介绍JS算法——猴子分香蕉,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、问题描述
5 只猴子分香蕉。
第1只猴子,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来。
第2只猴子,把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来。
第3只猴子,把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来。
第4只猴子,把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来。
第5只猴子,把香蕉均分成5堆,此时正好不剩。
请计算一开始最少有多少个香蕉?
二、代码实现
计算思路就是 每只猴子分完后每堆数量 都是整数 且 第五只猴子分完后 每堆数量大于0
for (let a = 6; ; a++) {const b = (a - 1) / 5 //第一只猴子分完后每堆数量const c = (4 * b - 2) / 5 //第二只猴子分完后每堆数量const d = (4 * c - 3) / 5 //第三只猴子分完后每堆数量const e = (4 * d - 4) / 5 //第四只猴子分完后每堆数量const f = (4 * e) / 5 //第五只猴子分完后每堆数量//每只猴子分完后每堆数量 都是整数 且 第五只猴子分完后每堆数量大于0if (f > 0 && b % 1 === 0 && c % 1 === 0 && d % 1 === 0 && e % 1 === 0 && f % 1 === 0) {console.log(`最少有${a}个香蕉`);break}
}
这篇关于JS算法——猴子分香蕉的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!