遞迴
函式可以呼叫自己,遞迴的難點是觀察出遞推關係式,其次的由於遞推對資源的利用並不高很容易超時,可以採用記憶搜尋法;
下面給出我做過的兩題。
input
給出第一根柱子的圓盤個數n(n <= 20),你要做的就是找出最快將圓盤全部移到第三根柱子的方法,並將方法輸出出來。
output
如當n=3的時候,輸出
131232
1321
2313
每行兩個數字表示將第乙個數字的柱子的最上面的圓盤移動到第二個數字所表示的柱子上。
對於此題就是要猜想 第n個與第n-1個的關係 (猶如數學歸納法一樣 起點 ,n=k ,n=k+1) 力圖將所有的情況概況下來;
下面給出我的**
#include
using namespace std;
int a=1,b=2,c=3;
int g(int a,int b,int c)
int f(int a,int b,int c, int n)
return f(a,c,b,n-1)+g(a,b,c)+f(b,a,c,n-1);
}int main()
//貌似只有 有返回值的函式才可以遞迴。。。。。
下面一體 兔子問題
description
ta家裡養了一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月時就會變成成年兔子,從這個月起這對兔子每個月又生一對兔子,假如兔子都不死,問第n個月ta家裡有多少只兔子?
input
本體包含多組測試資料。
每組測試資料報含乙個正整數n,表示需要計算的月數。
當n為-1時程式退出。
output
每組測試資料的結果佔一行。
每行輸出當月ta家中的兔子數量。
此題要寫出 數學遞推式 就可以解決。
#include
using namespace std;
int f(int n)
int main()
C 學習日誌
文字 str1.replace 需要被替換的內容 需要替換的內容 str1.indexof 沒找到返回 1 int str1 強制轉換型別 convert 文字型別轉換 文字分割 string str1 我 是 飛 雪 陣列 double可換型別 double balance balance 0 2...
C 學習日誌 3
今天看到第七章120頁 學習到的知識 字元和字串的定義及處理 stringbuilder和string類的區別 字串加密與解密,如下 using system using system.collections.generic using system.linq using system.text u...
C 學習日誌 6
今天看到了221頁,10.4.5節看完了。學到的知識 主要是學會了一些控制項的操作方法。程式設計方式新增控制項 textbox mytext new textbox mytext.location new point 25,25 this.controls.add mytext 設定 接受 和 取消...