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

标题:猴子分香蕉


内容: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)}
      }
     }
    }
   }
  }
 }

运行结果:
在这里插入图片描述

答案为3141,因为第一个不符合题意。

发布了60 篇原创文章 · 获赞 107 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Fdog_/article/details/104241551