经典算法详解(6)渔夫捕鱼

简介: A、B、C、D、E5个渔夫夜间合伙捕鱼,各自在河边的树丛中休息。待日上三竿,渔夫A第一个醒来,他将鱼分作5份,把多余的一条扔回河中,拿自己的一份回家了。渔夫B第二个醒来,也将鱼分作5份,扔掉多余的一条,拿走自己的一份,接着后三个也按同样的办法分鱼,问5个渔夫至少合伙捕了多少条鱼。

A、B、C、D、E5个渔夫夜间合伙捕鱼,各自在河边的树丛中休息。待日上三竿,渔夫A第一个醒来,他将鱼分作5份,把多余的一条扔回河中,拿自己的一份回家了。渔夫B第二个醒来,也将鱼分作5份,扔掉多余的一条,拿走自己的一份,接着后三个也按同样的办法分鱼,问5个渔夫至少合伙捕了多少条鱼。

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 
 6  int isInteger(float i) {        //用于判断是否是整数
 7     if (i - (int)i == 0) {
 8         return 1;
 9     }
10     else {
11         return 0;
12     }
13 }
14 
15 //从后面往前面推,初始化count表示E醒来看到的条数,故四次循环之后是A看到的条数,
16 int fish_count() {
17     float count;
18     for (int n = 1; n < 10000; n++) {
19         count = 5 * n + 1;
20         int flag = 1;
21         for (int i = 0; i < 4; i++) {
22             count = count * 5 / 4 + 1.0;
23             if (!isInteger(count)) {            
24                 flag = 0;
25                 break;
26             }
27         }
28         if (flag) {
29             return (int)count;
30         }
31     }
32     return -1;
33 }
34 
35 int main(int argc, char *argv[]) {
36     cout << fish_count();
37     getchar();
38     return 0;
39 }
相关文章
|
2月前
|
人工智能 算法 Java
【搜索算法】数字游戏(C/C++)
【搜索算法】数字游戏(C/C++)
|
6月前
|
算法 C++
【c/c++算法】曼哈顿算法简单运用
【c/c++算法】曼哈顿算法简单运用
117 0
|
7月前
|
Java
微生物增殖(蓝桥杯)
微生物增殖(蓝桥杯)
|
决策智能
博弈论第十七集总结(“声誉和决斗 ”观后感)
博弈论第十七集总结(“声誉和决斗 ”观后感)
54 0
|
算法
基础算法练习200题09、水池注水
基础算法练习200题09、水池注水
166 0
基础算法练习200题09、水池注水
|
机器学习/深度学习 人工智能
把所有的谎言献给你β(找规律数学题)
梓川咲太的面前坐着野兔先辈,作为约定,只好乖乖的打开笔记本开始学习了。 “加法符号写歪了,变成了乘法符号,在算式的第三行那个地方。”樱岛麻衣突然开口。
169 0
把所有的谎言献给你β(找规律数学题)
088.马克思手稿中的数学题
088.马克思手稿中的数学题
96 0
再学一道算法题: 食物链(带权并查集)
再学一道算法题: 食物链(带权并查集)
再学一道算法题: 食物链(带权并查集)
|
机器学习/深度学习 算法 决策智能
用一盘残局带你了解人工神经网络算法~文末送书!
专栏作者:安可,一名在读研究生,研究领域为强化学习,多智能体协同。喜欢钻研,热爱学习,乐于分享,最重要的还是一位漂亮小姐姐哦~
220 0
用一盘残局带你了解人工神经网络算法~文末送书!
|
算法 Java
十道简单算法题(一)
最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,重温一下。
157 0
十道简单算法题(一)