一、遞迴法的處理過程
將f(n)向f(n-1)轉化,f(n-1)向法f(n-2)轉化,直到f(0)
反向由f(1)一直推出f(n)
2.執行結果#include
void
fun(
int n)
}int
main()
二、遞迴法和非遞迴法求n的階層
非遞迴法
遞迴法#include
intfun
(int n)
intmain()
三、fibonacci數列#include
intfun
(int n)
intmain()
數列: 0,1,1,2,3,5,8,13,21,34,55, 89,144,233,377,610,987,1597,2584, 4181,6765,10946,17711,28657,46368
a1=1,a2=1
an=a(n-1)+a(n-2)
非遞迴法
遞迴法#include
intf
(int n)
return
(f3);}
intmain()
四、分解乙個高位數#include
intf
(int n)
intmain()
**
執行結果#include
void
digits
(int n)
}int
main()
五、冒泡安排的遞迴演算法
*b)//交換函式
void
bubblesort
(int a,
int n,
int i)
if(exchange==false)
//如果沒有發生交換,證明已經排好序
return
;else
bubblesort
(a,n,i+1)
;//排除最前的i個已經排好的數,往前移動 }}
intmain()
;printf
("排序前,陣列為");
for(i=
0;i<
7;i++
)printf
("%d "
,a[i]);
printf
("\n");
bubblesort
(a,7,0
);printf
("排序後,陣列為");
for(i=
0;i<
7;i++
)printf
("%d "
,a[i]);
return0;
}3.執行結果
六、選擇排序的遞迴演算法
("排序前,陣列為");
for(i=
0;i<
7;i++
)printf
("%d "
,a[i]);
printf
("\n");
selectsort
(a,7,0
);printf
("排序後,陣列為");
for(i=
0;i<
7;i++
)printf
("%d "
,a[i]);
return0;
}執行結果
七、遞迴求羅漢塔
解題目標:將n個積木從x移到z上
解題思路:
第n-1個 從x移到y
第n個 從x移到z
第n-1個 從y移到z
遞迴操作以上步驟
**
3.結果#include
voidf(
int n ,
char x,
char y,
char z)
//基本解題思路
//第n-1個 從x移到y
//第n個 從x移到z
//第n-1個 從y移到z
}int
main()
八、六皇后問題遞迴解法
解題思路
遞迴思想:每行放置乙個皇后
限制:每個皇后不能是同行,同列,對角線關係
1.**
2.結果#include
#include
int q[7]
=;int p[7]
[7]=
;int k=0;
int t=1;
bool place
(int i,
int j)
//傳入兩個引數
return true;
//通過返回
}void
show
(int p[7]
)//列印一維存放方式
printf
("\n");
}void
show1
(int p[
7])//打應棋盤
printf
("\n");
}}void
queen
(int i,
int n)
//i為函式, }}
}}intmain()
csdn第三節課
筆記部分 1.網頁中影象的插入 一.屬性 1 alt 當無法顯示是給以使用者提示 2 title 滑鼠移動到上時顯示資訊 3 src 用於 中找出的路徑.二.路徑 1 當前的目錄檔案 直接寫出檔名 或 檔名 2 子集目錄檔案 同級檔名 子集檔名 3 上級檔案 檔名 多一級多加乙個 2.超連結 一.兩...
php第三節課
正規表示式 正規表示式 斜槓代表定界符 str abcde123fg456h reg d echo preg replace reg,str 將字串 str按照職責表示式reg替換為 var dump preg split reg,str 將字串str按照正規表示式拆分 arr array preg...
Oracle第三節課總結
集合運算 一 union求並集,公共部分只有包含一次 例 求emp表ename中含 a 或含有 m select from emp whereename like a union select from emp where ename like m 二 union all求集並,公共部分只有包含二次...