python 猴子接香蕉
时间: 2023-11-10 11:07:19 浏览: 205
猴子接水果
“猴子接香蕉”是一个经典的编程问题,它的描述如下:有一只猴子在桶里,桶里有N个香蕉,猴子每次可以取走其中的K个香蕉,但是每次取走香蕉后,猴子会被罚站一小时,然后才能再次取香蕉。猴子想要在不被罚站的情况下取走所有的香蕉,请问最少需要多长时间?
答案:假设猴子一开始取走了x个香蕉,那么他需要罚站 (N-x)/K 次,总共需要罚站 (N-x)/K 小时。因此,我们需要求出 (N-x)/K 的最小值。显然,当 x 取值为 1, 2, ..., K 时,(N-x)/K 的值最小。因此,最少需要的时间为 ceil((N-K)/(K-1))。
阅读全文