蓝桥杯第九届C语言C组第二题:猴子分香蕉

举报
花狗Fdog 发表于 2021/05/26 15:38:14 2021/05/26
【摘要】 标题:猴子分香蕉 内容: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,因为第一个不符合题意。

文章来源: zxfdog.blog.csdn.net,作者:Fdog_,版权归原作者所有,如需转载,请联系作者。

原文链接:zxfdog.blog.csdn.net/article/details/104241551

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。