遞迴解決分魚問題
A、B、C、D、E這5個人合夥夜間捕魚,凌晨時都已經疲憊不堪,於是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,A第一個醒來,他將魚平分為5份,把多餘的一條扔回河中,然後拿著自己的一份回家去了;B第二個醒來,但不知道A已經拿走了一份魚,於是他將剩下的魚平分為5份,扔掉多餘的一條,然後只拿走了自己的一份;接著C、D、E依次醒來,也都按同樣的辦法分魚。問這5人至少合夥捕到多少條魚?每個人醒來後所看到的魚是多少條?
#include<iostream> using namespace std ; int main() { int num[5]; for(int i=16;;i+=5){ num[0]=i; int j; for(j=1;j<5;j++){ num[j]=(num[j-1]-1)/5*4; if(num[j]%5!=1) break; } if(j<=4) continue; break; } for(int i=0;i<5;i++) cout << num[i] <<endl; return 0; }
相關推薦
遞迴解決分魚問題
A、B、C、D、E這5個人合夥夜間捕魚,凌晨時都已經疲憊不堪,於是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,A第一個醒來,他將魚平分為5份,把多餘的一條扔回河中,然後拿著自己的一份回家去了;B第二個醒來,但不知道A已經拿走了一份魚,於是他將剩下的魚平分為5份,扔掉多餘的一條,然後只拿走了自己
遞迴解決全排列生成演算法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Java:利用遞迴求解分桔子問題
問題描述: 日本著名數學遊戲專家中村義作教授提出這樣一個問題:父親將2520個桔子分給六個兒子。分完 後父親說:“老大將分給你的桔子的1/8給老二;老二拿到後連同原先的桔子分1/7給老三;老三拿到後連同原先的桔子分1/6給老四;老四拿到後連同
經典遞迴解決漢諾塔!
演算法:當只有一個盤子的時候,只需要從將A塔上的一個盤子移到C塔上。 當A塔上有兩個盤子是,先將A塔上的1號盤子(編號從上到下)移動到B塔上,再將A塔上的2號
遞迴解決求最大公約數問題
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body>
漢諾(Hanoi)塔問題的遞迴解決
漢諾塔問題: 古代有一個塔,塔內有3個座A、B、C,開始時A座有64個盤子,盤子大小不相等,大的在下,小的在上。有一個老和尚想把這64個盤子從A座移動到C座,但每次只允許移動一個盤,且在移動過程中在3個座上都始終保持大盤在下,小盤在上。在移動過程中可以利用B座,
Java遞迴解決n皇后問題
題目 八皇后問題是一個以國際象棋為背景的問題:如何能夠在 8×8 的國際象棋棋盤上放置八個皇后,使得任何一個皇后都無法直接吃掉其他的皇后?這道題目也可以稍微延伸一下,變為 N×N的棋盤上放置N個皇后,其他條件相同。 下面介紹一種比較簡單易懂的實現方式。 程式碼 impo
挑戰程式設計競賽 演算法和資料結構 第6章 遞迴和分治法
仿照上述程式碼,本人編寫的C語言AC程式碼如下: //ALDS1_5_C:Koch Curve //2一個很致命的問題,將遞迴中的 s,t;區域性變數寫成全域性變數 //深刻感覺遞迴,還需要時間的積累。2017-9-29 AC #include <stdio.h> #include <ma
使用JavaScript實現遞迴解決斐波那契數列及優化
遞迴的概念:若一個演算法直接地或間接地呼叫自己本身,則稱這個演算法是遞迴演算法(《資料結構—使用C語言實現;朱戰立;西安交大出版社》); 遞迴的兩個條件:自己呼叫自己和有結束條件(否則是死遞迴) 斐波那契數列 1, 1, 2,3,5,8,13,21….. 使
LeetCode 206. 反轉連結串列 遞迴解決
反轉一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 進階: 你可以迭代或遞迴地反轉連結串列。你能否用兩種方法解決這道題? 注意head是有
【演算法課】遞迴與分治法
概述 演算法 若干指令組成的有窮序列。 輸入:零或多個外部輸入 輸出:至少一個輸出 確定性:每條指令無歧義 有限性:每條指令執行次數有限,總執行時間有限 複雜性 分時間和空間複雜性。 計算時間複雜度的時候,通過計算其核心語句的執行次數,匯出其關於問題規模N的複
C語言遞迴解決fibonacci數列演算法
斐波那契數列的遞迴條件是 F(n)=1 n=0, F(n)=1 n=1, F(n)=F(n-1)+F(n-2) n>1; 可以直接寫出遞迴函式 int f(int n) { if(n<=1) retu
C語言遞迴解決階乘問題
遞迴函式的概念是:直接或者間接地呼叫自身的演算法 遞迴函式:用函式自身給出定義的函式 而且在學習的後期 學到了分治法可以感覺到分治法產生的子問題是原問題的較小模式,這就為使用遞迴技術提供了不小的方便 即在合適的情況,使用遞迴反覆分治,大問題變相同性質的小問題,再進行遞迴求解 今天
遞迴解決漢諾塔
漢諾塔簡介 大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。 經典題目:
遞迴解決揹包問題
問題描述:有不同價值、不同重量的物品n件,求從這n件物品中選取一部分物品的方案,使得選中物品的總重量不超過指定的限制重量,但選中的物品總價值最大。 揭解法描述:採用遞迴尋找物品的尋找方案。設前面已有多種選擇方案,並保留其中總價值最大的方案與一個數組option
演算法(1)整數劃分問題之遞迴解決
今日,閱讀《ACM/ICPC 演算法訓練》時,發現一道名為“整數劃分”的題,書上解釋極為模糊,自己研究了一下此題,將其解決,記錄下解題思路,以備以後有用時快速理解; 一,題意簡述 將整數表示成一系列正整數之和:n=n1+n2+.....+nk; 注意:4+2
遞迴解決 Tower of Hanoi 問題
自己感覺寫的沒有原博主的那麼容易理解,於是就站在巨人的肩膀上摘蘋果,感謝部落格主。 演算法:當只有一個盤子的時候,只需要從將A塔上的一個盤子移到C塔上。 當A塔上有兩個盤子是,先將A塔上的1號盤子(編號從上到下)移動到B塔上,再將A塔上
遞迴解決全排列問題+詳細圖解遞迴執行
問題描述:字串的排列 //輸入一個字串, 按字典序打印出該字串中字元的所有排列。 //例如輸入字串abc, 則打印出由字元a, b, c所能排列出來的所有字串abc, acb, bac, bca, cab和cba。 //結果請按字母順序輸出。 //長度不超過9(可能有字
mysql遞迴查詢(分頁版本)
call getPictureList('402880e63789b63a013789b646dc0000',1,5); set max_sp_recursion_depth=12; CREATE PROCEDURE getPictureList (IN rootCat
python資料結構學習筆記-2017-01-08-01-N皇后問題、迷宮問題和跳馬問題的遞迴解決
N皇后問題 棋盤ADT #-*-coding: utf-8-*- # 二維陣列實現棋盤ADT from myarray2d import Array2D class Board(object): def __init__(se