遞迴 解決ABCDE 5人分魚問題魚,

2021-07-08 20:32:44 字數 1157 閱讀 3741

題目:

有abcde五人夜間到河邊捕魚,捕完魚後五人在河邊睡著.

天亮後a先醒來,將所捕魚平均分偉五份,結果餘一條,將餘的一條扔掉,帶走自己的一堆.b醒來將餘下的四堆又分為五份,也餘一條,同樣仍掉,也帶走自己的一堆.c、d、e醒來後也如此,問他們這天晚上至少捕到多少條魚?

廢話不多說,分析:

首先我寫了這樣乙個**,

//**************************錯誤示範

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace @catch

return cutfish(n - 1) * 5 + 1;

}//  public int count = 1;

static void main(string args)}}

//這個結果是 3906 //

//但是看見網上的討論 最後乙個人起來分魚的時候不一定是每人一條,

最後總結一下:

這題目沒有給定任何魚的個數,那麼個數可能會有很多種,要求至少,所以在滿足上一次 分魚過後的數目 減掉 4/5 然後 對5 取餘 餘1(上文講取餘等於0 是因為前提還減掉1  這裡沒有說減掉1哦 注意);

那麼**如下:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace @catch

if (n * 5 / 4 % 5 == 0) //下次的魚個數是否滿足 算出上次以後能夠滿足分魚條件

return false; //不滿足的話就返回false 說明這個 "下次分魚數目" 假設不成立

}static void main(string args)}}

}//最後正確結果3121

///第一次寫,,希望大家有什麼意見建議,說出來,反正我又不會高興接納的!!!!!!    開個玩笑,一定接納!!

1 遞迴解決分魚問題

問題描述 a b c d e這5個人合夥夜間捕魚,凌晨時都已經疲憊不堪,於是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,a第乙個醒來,他將魚平分為5份,把多餘的一條扔回河中,然後拿著自己的乙份回家去了 b第二個醒來,但不知道a已經拿走了乙份魚,於是他將剩下的魚平分為5份,扔掉多餘的一條,然後只...

C語言 遞迴解決分魚問題。

a b c d e五個人在某天夜裡合夥去捕魚,到凌晨時疲憊不堪,於是各自找地方睡覺。第二天a醒來,他將所有的魚分成5份,把多餘的一條魚扔掉,拿走自己的乙份。b醒來,也將剩下的魚分為5份,把多餘的一條扔掉,拿走自己的乙份。c d e 也同樣,分別醒來後,也將剩下的魚分為5份,把多餘的一條扔掉,拿走自己...

遞迴解決分魚問題 c語言

問題描述 a,b,c,d,e這5個人合夥夜間捕魚,凌晨時都已經疲憊不堪,於是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,a,第乙個醒來,他將魚平分為5份,把多餘的一條扔回河中,然後拿著自己的乙份回家去了 b第二個醒來,但不知道a已經拿走了乙份魚,於是他將剩下的魚平分為5份,扔掉多餘的乙份,然後...