五猴分桃问题代码

来源:互联网 发布:ubuntu java安装 编辑:程序博客网 时间:2024/05/22 04:52

问题:*五只猴子一起摘了一堆桃子,因为太累,决定先睡一觉再分。
*过了不知多久,来了一只猴子,它见别的猴子没来,便将一堆桃子平均分成 5 份,结果*多了一个,就将多的这个吃了,拿走其中的一堆。
*又过了不知多久,第二只猴子来了,它不知道有一个同伴已经来过,还以为自己是第一*个,便将地上的桃子平均分成 5 份,发现也多了一个,同样吃了这一个,拿走其中的一堆。第3只,第4只,第5 只猴子都是这样......
*问这5只猴子至少摘了多少个桃子?

 

#include "stdio.h"
#include "conio.h"
void main()
{
 long count,q,p,sum,c;//count最后一次每只猴子分的桃子数;q过一只猴子剩余的桃子数(4的整数倍);
 int n;
     count=3;n=4;q=5*count+1;
    while(n>0)
    {
      if(q%4==0)
      { 
       p=q/4;
       q=p*5+1;
       n--;
      }
        else {count++;n=4;q=5*count+1;}
    }
c=count;
printf("第5只猴子拿%ld个桃子:/n",c);
c=(c*5+1)/4;
printf("第4只猴子拿%ld个桃子:/n",c);
c=(c*5+1)/4;
printf("第3只猴子拿%ld个桃子:/n",c);
c=(c*5+1)/4;
printf("第2只猴子拿%ld个桃子:/n",c);
c=(c*5+1)/4;
printf("第1只猴子拿%ld个桃子:/n",c);
sum=c*5+1;
printf("最少一共有%ld个桃子:/n",sum);
getch();
}

原创粉丝点击