/*标题:猴子分香蕉
5只猴子是好朋友,在海边的椰子树上睡着了。
这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,
就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,
就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,
就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,
就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
要提交的是一个整数,不要填写任何多余的内容。*/
#include<stdio.h>
int main()
{
int e=0;
double a=0,b=0,c=0,d=0,m=0,ee=0;
int i;
for(i=1;i<=300;i++)
{
e++;
d=5*e/4;
c=(4+5*d)/4;
b=(3+5*c)/4;
a=(2+5*b)/4;
m=5*a+1;
a=(m-1)/5;
b=(4*a-2)/5;
c=(4*b-3)/5;
d=(4*c-4)/5;
ee=4*d/5;
printf("%d--%lf %lf %lf %lf %lf %.8lf\n",i,ee,d,c,b,a,m);
//沙雕做法 我自己想这个办法也很无语 能力有限啊
//从上面往下面对,保证 ee=i ,且a,b,c,d,m 都是整数 会找到3141的 ,没有把300继续改为400
//蓝桥杯就是不管怎么样 只要答案正确就行 好吧
ee=a=b=c=d=m=0;
}
return 0;
}
#include<stdio.h>
int main()
{
int i,j;
for(int i=0;i<5000;i++){
int j=i;
if(j%5==1){
j=j-j/5-1;//巧在这,后来的j就是剩余的
if(j%5==2){
j=j-j/5-2;
if(j%5==3){
j=j-j/5-3;
if(j%5==4){
j=j-j/5-4;
if(j%5==0&&j>0){
printf("%d\n",i);
}
}
}
}
}
}
}