问题:有N个小熊,有一堆苹果。第一个小熊先扔掉一个苹果后,恰好能分成N份,它取走一份;第二个小熊扔掉剩余苹果中的一个后,恰好能将剩余的分成N份,它取走其中一份。如此进行到最后一个小熊,它也扔掉剩余苹果中的一个后,恰好能将剩余的分成N份,它取走其中一份(至少为1个)。问最初至少有多少个苹果。
#include <iostream>
#include <math.h>
#include <time.h>
int bearNum;
bool isValid(int appleNum)
{
int remainApple = appleNum;
for (int iterBear = bearNum; iterBear > 0; iterBear--)
{
if ((remainApple - 1) % bearNum == 0)
{
remainApple = (remainApple - 1) / bearNum * (bearNum - 1);
}
else
{
return false;
}
}
return true;
}
int main()
{
clock_t start, finish;