试题传送门
显而易见是一道递推题
递推题的两个关键:一个是边界 一个是递推公式
思路
若假设总苹果数是x,第一只猴子一顿操作之后吃了m个,藏了一部分。即藏了(x-m)/n个,即藏了的和吃的一共是(x-m)/n+m。在这里x-m是并不能被n整除的,因而我们可以稍作改动,把总数设为y=x+(n-1)*m,这样就能确保每次都被n整除了(为什么是n-1等下会讲)。
第一只猴子吃m个,再藏(x-m)/n个(和上面不做改变的情况相同),即第一只猴子共拿了y/n个苹果,苹果剩((n-1)y/n,依次计算下去则可以推算出第一天最后一个猴子分了后还剩((n-1)^n /n^n)y;
题目要求是至少,即可设平均分配量为1,即((n-1)^n /n^n+1)y=1,要使该等式成立,则y = n^n+1,再根据y = x + (n-1)m可以得到x = n^n+1 - (n-1)m;
代码一
#include