【蓝桥杯】 猴子分香蕉 【行行带注释】
【摘要】 标题:猴子分香蕉5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。第4只猴子醒来,重新把香蕉均分成5堆,...
标题:猴子分香蕉
5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
需要提交的是一个整数,不要填写任何多余的内容。
package 省题2018;
public class 猴子分香蕉 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义变量存放最终香蕉数
int num = 0;
//遍历
for(int i = 1; i < Integer.MAX_VALUE; i++) {
//临时变量
int temp = 0;
//第1只猴子醒来,把香蕉均分成5堆,还剩下1个
if(i % 5 == 1) {
//吃掉剩下的一个并把自己的一份藏起来
temp = i - (i / 5) - 1;
//2只猴子醒来,重新把香蕉均分成5堆,还剩下2个
if(temp % 5 == 2) {
//吃掉剩下的二个并把自己的一份藏起来
temp = temp - (temp / 5) - 2;
//3只猴子醒来,重新把香蕉均分成5堆,还剩下3个
if(temp % 5 == 3) {
//吃掉剩下的三个并把自己的一份藏起来
temp = temp - (temp / 5) - 3;
//4只猴子醒来,重新把香蕉均分成5堆 还剩下4个,
if(temp % 5 == 4) {
//就吃掉剩下的四个并把自己的一份藏起来
temp = temp - (temp / 5) -4;
//第5只猴子醒来,重新把香蕉均分成5堆,正好不剩
//当temp等于0时,temp % 5 也等于0;所以这里要设置temp != 0
if(temp % 5 == 0 && temp != 0) {
num = i;
break;
}else {
continue;
}
}else {
continue;
}
}else {
continue;
}
}else {
continue;
}
}else {
continue;
}
}
System.out.println(num);
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)