A/B/C/D/E 5个人在某天夜里合伙去捕鱼,到凌晨时都疲惫不堪,于是各自找地方睡觉,第二天,A第一个醒来,他将鱼分成5份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分成5份,把多余的一条鱼扔掉,拿走自己的一份。C/D/E依次醒来,按同样的方法拿鱼。问他们合伙至少捕了多少条鱼? int main() { int n,i,count=0;
for(i=1;i<10000;i++) //寻找1至10000中合适的数 { int m=i; //假设m是总鱼数 for(n=0;n<5;n++)//有五人捕鱼,所以要循环五次 { if(m%5==1) //分成五份剩佘一条 { m=(m-1)*4/5; //第一次分完鱼,剩下的鱼 count++; //计算m能被分多少次 } if(count==5){ printf("他们合伙至少补了:%d\n",i); //得出第一次数进行输出,就是至少捕获的鱼 return 0; //这里的return是将整个函数体结束,如果释放,将鱼的范围加大,会得到跟多的捕鱼总数 } } count=0;//只需要计算分份次数,外部循环不需要count计数 }
}
有其它答案可以分享一下!
|