昨天参加“创新工厂”的笔试,有道题自己当时写的不对,重做了一下!(转自自己的新浪博客)

题目我从网上找了一下《分鱼,捕鱼》

A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,
也将鱼分为五份,把多余的一条鱼扔掉,保持走自己的一份。C、D、E依次醒来,也按同样的方法拿
走鱼。问他们合伙至少捕了多少条鱼?

自己写了一下代码,运行了一下,结果为 3121条。

#include<iostream>
using namespace std;
bool find(int min){
    int num=min;
    int loop=5;
    while(loop>0){
        if(num%5==1){
            if(loop==1){
                cout<<“A、B、C、D、E五人最少补了”<<min<<“条鱼!”<<endl;
                return true;
            }
            num = (num-1)-(num-1)/5;
            loop–;
        }
        else break;
    }
    return false;
}
int main(){
    for(int i=1;;++i){
        if(find(i))
            return 0;
    }
    return 0;
}

点赞