苏小红c语言第七章习题“5个水手在岛上分椰子的问题”

新手,求问大神哪里写错了
img

两个if(fabs(y-a) < 0.00001)是要干啥?
显然你第一次循环是,if条件并不满足,但循环相关变量都没有修改的话,程序就是死循环了

转载的 水手分椰子问题_活在阳光下-CSDN博客_水手分椰子问题 五个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。一段时间后,第一个水手醒来,悄悄地将椰子等分成五份,多出一个椰子,便给了旁边的猴子,然后自己藏起一份,再将剩下的椰子重新合在一起,继续睡觉。不久,第二名水手醒来,同样将椰子了等分成五份,恰好也多出一个,也给了猴子。然而自己也藏起一份,再将剩下的椰子重新合在一起。以后每个水手都如此分了一次并都藏起一份,也恰好都把多出的一个给了猴子。第二天,五个 https://blog.csdn.net/u013517637/article/details/51146885

#include <stdio.h>
#include <math.h>
 
void main()
{
    int i;
    double k,x,y;
    i=1;k=1.0;y=k;
 
    while(i<=5)
    {
        i++;
        y=(4*y-1)/5;              //第一个y为第一个人藏得椰子数,这种方法是从第一个人向后面推
        if(y!=floor(y))
        {
            k=k+1.0;
            y=k;
            i=1;
        }
    }
    x=5*k+1;
    printf("%d个水手分椰子,原有椰子至少有:%6.0f个\n",5,x);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632