蓝桥杯 猴子分香蕉

194 阅读1分钟

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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;
}