A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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计数
    }

}

有其它答案可以分享一下!

5 个回复

倒序浏览
很牛逼的样子,学习了
回复 使用道具 举报
不是很完善

点评

正在努力改进  发表于 2015-4-15 00:37
回复 使用道具 举报
注释亮了!顶
回复 使用道具 举报
哥们好习惯 我都没有注释 以后注意:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马