题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
55 只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第 11 只猴子醒来,把香蕉均分成 55 堆,还剩下 11 个,就吃掉并把自己的一份藏起来继续睡觉。
第 22 只猴子醒来,把香蕉均分成 55 堆,还剩下 22 个,就吃掉并把自己的一份藏起来继续睡觉。
第 33 只猴子醒来,把香蕉均分成 55 堆,还剩下 33 个,就吃掉并把自己的一份藏起来继续睡觉。
第 44 只猴子醒来,把香蕉均分成 55 堆,还剩下 44 个,就吃掉并把自己的一份藏起来继续睡觉。
第 55 猴子醒来,重新把香蕉均分成 55 堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
有注释:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int k=0,k2;
int a=1;
for(int i=1;;i++)
{
k2=i;
//使用k2不让i的值改变
for(int j=1;j<=4;j++)
{
if(k2%5==j) //通过每一次循环减去对应的香蕉数量
{
k2=k2-(k2-j)/5-j;
//每次减去5分中的一份然后在减去吃掉的那个1
if(j==4&&k2%5==0&&k2!=0)
{
cout<<i;
a=0;
//告诉下一个for循环可以结束了
break;
}
}
else
break;
}
if(!a) break;
//判断是否满足条件
}
return 0;
}
无注释:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int k=0,k2;
int a=1;
for(int i=1;;i++)
{
k2=i;
for(int j=1;j<=4;j++)
{
if(k2%5==j)
{
k2=k2-(k2-j)/5-j;
if(j==4&&k2%5==0&&k2!=0)
{
cout<<i;
a=0;break;
}
}
else
break;
}
if(!a) break;
}
return 0;
}