蓝桥杯第九届C语言C组第二题:猴子分香蕉
【摘要】 标题:猴子分香蕉
内容:5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。 第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。 第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。 第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡...
标题:猴子分香蕉
内容:5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
注意:需要提交的是一个整数,不要填写任何多余的内容。
分析:
通过程序暴力破解,即可得知答案。
代码实现:
int a = 0, b = 0, c = 0, d = 0, e = 0;
int x;
for (x = 0; x < 10000; x++)
{
a = (int)(x / 5); //第一只猴子藏起来的a
if (x % 5 == 1)
{ b = (int)(4 * a / 5);//第二只猴子藏起来的b if ((4 * a) % 5 == 2) { c = (int)(4 * b / 5);//第三只猴子藏起来的c if ((4 * b) % 5 == 3) { d = (int)(4 * c / 5);//第四只猴子藏起来的d if ((4 * c) % 5 == 4) { e = (int)(4 * d / 5);//第五只猴子没藏 if ((4 * d) % 5 == 0) { if (a + 1 + b + 2 + c + 3 + d + 4 + 4 * d == x&&d!=0) { printf("a%d b%d c%d d%d e%d x%d\n", a, b, c, d, e, x); } } } } }
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
运行结果:
答案为3141,因为第一个不符合题意。
文章来源: blog.csdn.net,作者:花狗Fdog,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Fdog_/article/details/104241551
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)