//首先分析一下,每次分完的桃子的个数是5的倍数多一个,
//而这个数还要能被4整除(因为是上一个猴子拿完五份中剩下四份的个数)
//5的倍数多一个的整数的末位只能是1或6,末位为1不可能被4整除,因此末位为6
//这样的数可以表示为4*(5i-1),i=1,2,3,......
//代码如下
#include
using namespace std;
const int MAX_TIME = 1000;
void main()
{
int peach_num=0;
int peach_num_bk = 0;
for(int i=1;i{
peach_num = 4*(5*i-1);
peach_num_bk = peach_num;
bool isOK = true;
for(int j=0;j<5;j++)
{
if((peach_num-1)%5 != 0)
{
isOK = false;
break;
}
peach_num = (peach_num-1)*4/5;
}
if(isOK)
{
cout<cout< break;
}
}
}
打印结果:
至少摘了12496个桃子,第五个猴子摘完后还剩下4092个桃子