0.棧的基本使用
#include
#include
using
namespace std;
intmain()
1.漢諾塔問題//漢諾塔問題
#include
#include
using
namespace std;
/*問題分解
1.把 n-1 個盤子移動到b
2.把最大的盤子從a移動到c
3.把b上的n-1個盤子移動到c
遞迴的方法
*/ stack<
int> s[3]
;//三個柱子
void
move
(int x,
int y)
//三個引數(需要移動的柱子,中間柱,目標柱)
void
hanoi
(int a,
int b,
int c,
int n)
hanoi
(a,c,b,n-1)
;move
(a,c)
;hanoi
(b,a,c,n-1)
;}intmain()
hanoi(0
,1,2
,n);
while
(!s[2]
.empty()
)return0;
}/*輸入:3
輸出:
0 --> 2
0 --> 1
2 --> 1
0 --> 2
1 --> 0
1 --> 2
0 --> 2
1 2 3
*/
2.漢諾塔問題2
小明在玩漢諾塔,假設第一根柱子上從上到下放在大小為1~n的盤子,小明每次移動大小為i的盤子時消耗的體力為i,求他移動盤子的步數,和總共消耗的體力。
}/*輸入:3
輸出:7 11
*/3.輾轉相除法
//輾轉相除法___求最大公約數
/*f(x,y) = f(y,x%y) y>0
x y=0 */
#include
using
namespace std;
intf
(int x,
int y)
else
}int
main()
藍橋杯java練習 遞迴演算法細菌增值
假設有兩種微生物x 和 y x 出生後每隔 3分鐘 一次 數目加倍 y出生後每隔 2分鐘 一次 數目加倍 乙個新出生的 x,半分鐘之後吃掉1個 y,並且,從此開始,每隔 1分鐘吃1個 y。現在已知有新出生的 x 10,y 89 求60 分鐘後y 的數目。如果 x 10 y 90呢?本題的要求就是寫出...
藍橋杯練習 演算法訓練
演算法訓練 審美課 時間限制 1.0s 記憶體限制 256.0mb 問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學給出...
藍橋杯 基礎練習 Sine之舞 遞迴
時間限制 1.0s 記憶體限制 512.0mb 問題描述 最近fj為他的奶牛們開設了數學分析課,fj知道若要學好這門課,必須有乙個好的三角函式基本功。所以他準備和奶牛們做乙個 sine之舞 的遊戲,寓教於樂,提高奶牛們的計算能力。不妨設an sin 1 sin 2 sin 3 sin 4 sin n...