/* 海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子平均分為五份,多了一個,這只 猴子把多的一個扔入海中,拿走了一份。 第二只猴子把剩下的桃子又平均分成五份,又多了 一個,它同樣把多的一個扔入海中,拿走了一份, 第三、第四、第五只猴子都是這樣做的, 問海灘上原來最少有多少個桃子? 解題思路: 從第五步逆推: 5x+1=4y; 4y+y+1=4z; 4z+z+1=4p; 4p+p+1=4s; 4s+s+1=最初 y=(5x+1)/4; 4z=5y+1=(5x+1)/4*5+1 */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> #define N 8 main() { int c,i,j,k=0,t; for(i=4;i<10000;i=i+4){ c=1; t=i; for(j=0;j<5;j++){ k=i/4*5+1; i=k; if(k%4==0){ c++; }else{ break; } } i=t; if(c==5){ printf("%d ",k); } } }
