鱼C论坛

 找回密码
 立即注册
查看: 2325|回复: 6

这个代码能不能这样解释?

[复制链接]
发表于 2019-2-14 12:01:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
海滩上有一堆桃子,五只猴子来分。第1只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个吃掉,拿走了一份。
第二只猴子把剩下的桃子又平均分为五份,又多了一个,它同样把多的一个吃掉,拿走了一份,第3、第4、第5只猴子都是这样做的。
问海滩上原来最少有多少个桃子。

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int x
    ,i=0,j=1;
    while(i<5){
        x=4*j;//第五个猴子留下的桃子数。
        for(i=0;i<5;i++)
        {
            if(x%4!=0){break;}
            x=(x/4)*5+1;//遍历找出第四只,第三只,第二只,第一只 猴子留下的桃子,和最初所有的桃子
        }
        j++;
    }
    printf("%d\n",x);
   
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-14 12:19:24 | 显示全部楼层
行不行你看看结果对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 13:02:01 | 显示全部楼层
本帖最后由 910201513 于 2019-2-14 13:21 编辑

可以啊,没毛病啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 14:00:01 | 显示全部楼层
楼主看注释分析 遇到问题要动手多思考 多演算 不要觉得麻烦就放弃等着别人给答案
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int x
    ,i=0,j=1;
    while(i<5){
        x=4*j;//假设这是最后一个猴子留下的桃子
        for(i=0;i<5;i++)
        {
            if(x%4!=0){break;}//上一个猴子留下的是否能分成四份 以为它分了五份 自己拿走一份 剩下的应该是四份 不能结束循环 j++
            x=(x/4)*5+1;//从假设的最后留下的桃子 一次算出上一个猴子留下的桃子从而推算出最终的桃子
        }
        j++;
    }
    printf("%d\n",x);
   
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 14:10:33 | 显示全部楼层
82457097 发表于 2019-2-14 14:00
楼主看注释分析 遇到问题要动手多思考 多演算 不要觉得麻烦就放弃等着别人给答案
#include
#include

这是我自己分析的,我想问的是我分析得对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 14:12:02 | 显示全部楼层
本帖最后由 82457097 于 2019-2-14 14:13 编辑
NYJYA 发表于 2019-2-14 14:10
这是我自己分析的,我想问的是我分析得对不对


你分析的对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 14:29:03 | 显示全部楼层

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 08:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表