公司今年的一道校招笔试题–五猴分桃

下面是一道公司今年校招的笔试智力题(提前看到的同学如果参加笔试不要说我泄题并答案哈,呵呵)题目如下:

五只猴子分桃。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个吃了,并且拿走了自己的一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个吃了,拿走了自己的一份,第三、第四、第五只猴子都是这样做的,问这堆桃子最少有多少个?

对这道题我的解法如下(没作优化)

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
 
  namespace Test
  {
     class Program
      {
 
         static void Main(string[] args)
         {
             int j = 6;
             int count = 0;
             int tmp = 0;
             while (true)
             {
                 tmp = j;
                 while ((j - 1) % 5 == 0)
                 {
 
                     count++;
                     j = RemainPeaches(j);
                     if (count == 5)
                     {
                         break;
                     }
                 }
                 if (count == 5)
                 {
                     Console.WriteLine(tmp);
                     break;
                 }
                 tmp++;
                 j=tmp;
                 count = 0;
             }
         }
 
         static int RemainPeaches(int n)
         {
             int t = (n-1) - (n - 1) / 5;
             return t;
         }
     }
 }

运行下就知道结果了,我就不公布了!
当然,如果你有更好的解法,请不要吝啬告诉我哟!

作者:张雪飞
出处:https://zhangxuefei.site/p/320
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论

电子邮件地址不会被公开。 必填项已用*标注