水手分椰子问题。五个水手发现了一堆椰子,第一个水手把椰子分成5等分,多出一个给了猴子自己藏起了一堆;第二个水手把剩下的椰子混合再分,又分为5等分,多出1个给了猴子,自己藏起1堆,第三,四个水手也同样来分第五个水手把椰子分为5等分后,正好多出1个给猴子,问这堆椰子有多少个?分析:设某个水手面临N个椰子,则他前一个水手面临的则为5×N/4+1,以此类推,若某个整数M经上述5次迭代都是整数,则为最后的所求结果。程序如下main(){intn,k;floatm;n=1;m=5×n+1;k=1;while(k<=5){if(m!=(int)m){n++;m=5×n/4+1;n=1;}elsek=k+1;}Printf(“m=%d\n”,(int)m);}老师,这个程序我不会解读,加线处是怎么回事?设:天亮后5个水手每人分X个则:这次分配之前椰子数:5X+1=A第5个水手分椰子前椰子数:(A/4)*5+1=B第4个水手分椰子前椰子数:(B/4)*5+1=C第3个水手分椰子前椰子数:(C/4)*5+1=D第2个水手分椰子前椰子数:(D/4)*5+1=E第1个水手分椰子前椰子数:(E/4)*5+1=FX为 正整数X<10000范 围有x=1023,2047,3071,4095,5119,6143,7167,8191,9215满足条件。对应椰子总数:15621,31246,46871,62496,78121,93746,109371,124996,140621满足条件的最少椰子总数为15621个你发给我的程序有问题,我查到了几种解法,但我感觉都有问题,目前还没有找到合适的方法。
水手分椰子问题 来自淘豆网m.daumloan.com转载请标明出处.