![2014級(jí)程序設(shè)計(jì)語言課件遞歸_第1頁](http://file4.renrendoc.com/view/6061a3931b6f0d8d33df38b5263c5f36/6061a3931b6f0d8d33df38b5263c5f361.gif)
![2014級(jí)程序設(shè)計(jì)語言課件遞歸_第2頁](http://file4.renrendoc.com/view/6061a3931b6f0d8d33df38b5263c5f36/6061a3931b6f0d8d33df38b5263c5f362.gif)
![2014級(jí)程序設(shè)計(jì)語言課件遞歸_第3頁](http://file4.renrendoc.com/view/6061a3931b6f0d8d33df38b5263c5f36/6061a3931b6f0d8d33df38b5263c5f363.gif)
![2014級(jí)程序設(shè)計(jì)語言課件遞歸_第4頁](http://file4.renrendoc.com/view/6061a3931b6f0d8d33df38b5263c5f36/6061a3931b6f0d8d33df38b5263c5f364.gif)
![2014級(jí)程序設(shè)計(jì)語言課件遞歸_第5頁](http://file4.renrendoc.com/view/6061a3931b6f0d8d33df38b5263c5f36/6061a3931b6f0d8d33df38b5263c5f365.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
遞歸問題的提出“漢諾塔”(Hanoi)–這是一個(gè)必須用遞歸方法才能解決的問題–n=64時(shí),18,446,744,073,709,551,615次–1844億億次–每次1微秒,需要60萬年遞歸問題的提出A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn=3遞歸問題的提出A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問題的提出A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問題的提出A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問題的提出A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn更大些怎么辦?遞歸問題的提出第一步:將問題簡化。–假設(shè)A桿上只有2個(gè)圓盤,即漢諾塔有2層,n=2。A
B
C遞歸問題的提出對(duì)于一個(gè)有n(n>1)個(gè)圓盤的漢諾塔,將n個(gè)圓盤分為兩部分:上面的n-1
個(gè)圓盤和最下面的n號(hào)圓盤。將
“上面的n-1個(gè)圓盤”看成一個(gè)整體。將n-1個(gè)盤子從一根木樁移到另一根木樁上將1個(gè)盤子從一根木樁移到另一根木樁上A
B
C9解決漢諾塔問題的算法(C)void
Hanoi
(int
n,
char
A,
char
B,
char
C
){if
(n==
1
)move(1,A,
C);else{Hanoi
(n-1,
A,C,
B
);move(n,A,
C);Hanoi
(n-1,
B,
A,
C);}}例求整數(shù)n的階乘n!計(jì)算n!=n
*(n-1)*(n-2)*…*1迭代法用遞歸的方法例求整數(shù)n的階乘n!#include
<stdio.h>main(){int n,
i;long
result=1;printf("Input
n:");scanf("%d",
&n);for
(i=1;
i<=n;
i++)result
*=
i;printf("%d!=
%ld",
n,
result);}迭代法long
fact(long
n){long
result;if
(n
<0)return
–1;elseif
(n==0||
n==1)
/*遞歸終止條件*/return
1;elsereturn(n
*
fact(n-1));/*遞歸調(diào)用*/}例求整數(shù)n的階乘n!遞歸法#include
<stdio.h>long
fact(long
n);main(){int
n;long
result;printf("Input
n:
");scanf("%d",
&n);result
=
fact(n);if(result==-1)printf("n<0,data
error
!
\
n");elseprintf("%d!
=
%ld\n",
n,
result);}例求整數(shù)n的階乘n!遞歸法14計(jì)算fact(4)計(jì)算
4*fact(3)計(jì)算
3*fact(2)計(jì)算
2*fact(1)計(jì)算
fact(1)遞歸調(diào)用回歸求值返回24返回6返回2返回1求解階乘n!的過程遞歸函數(shù)遞歸方法的基本原理將復(fù)雜問題逐步化簡,最終轉(zhuǎn)化為一個(gè)最簡單的問題最簡單問題的解決,就意味著整個(gè)問題的解決遞歸調(diào)用應(yīng)該能夠在有限次數(shù)內(nèi)終止遞歸遞歸調(diào)用如果不加以限制,將無數(shù)次的循環(huán)調(diào)用必須在函數(shù)內(nèi)部加控制語句,只有當(dāng)滿足一定條件時(shí),遞歸終止有時(shí)將其稱為條件遞歸遞歸函數(shù)任何一個(gè)遞歸調(diào)用程序必須包括兩部分遞歸循環(huán)繼續(xù)的過程遞歸調(diào)用結(jié)束的過程if(遞歸終止條件成立)遞歸公式的初值;returnelsereturn遞歸函數(shù)調(diào)用返回的結(jié)果值;遞歸函數(shù)思考:下面程序有什么問題階乘函數(shù)的遞歸實(shí)現(xiàn)unsigned
long
Fac(unsignedint
n){if
(n
<
0)printf("data
error!");else
if
(n==0
||
n==1)return
1;elsereturn
n
*
Fac(n-1);}編譯這個(gè)程序也會(huì)給出警告,提示“非所有控制分支都有返回值”。同時(shí),運(yùn)行程序后如果我們輸入了一個(gè)負(fù)數(shù),那么程序運(yùn)行結(jié)果為:
Inputa:-1↙Input
data
error!a!
=
11如果某個(gè)函數(shù)需要返回值的話,那么一定要確保該函數(shù)中的所有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全責(zé)任協(xié)議合同
- 2025年貨運(yùn)從業(yè)模擬考試題庫
- 2025年本溪a2貨運(yùn)從業(yè)資格證模擬考試題
- 2025年鐵嶺下載b2貨運(yùn)從業(yè)資格證模擬考試考試
- 電力負(fù)荷平衡合同(2篇)
- 某市人力資源和社會(huì)保障局2024年度政治生態(tài)分析報(bào)告
- 2024-2025學(xué)年高中地理課時(shí)分層作業(yè)1地球的宇宙環(huán)境含解析魯教版必修1
- 2024-2025學(xué)年高中英語Module5GreatPeopleandGreatInventionsofAncientChinaSectionⅡGrammar課后篇鞏固提升外研版必修3
- 2024-2025學(xué)年四年級(jí)語文上冊(cè)第五單元18爭吵說課稿語文S版
- 托班第一學(xué)期工作總結(jié)
- 承包貨車司機(jī)合同范本
- 傳統(tǒng)戲劇藝術(shù)與人工智能的創(chuàng)新傳播渠道
- 2024年越南天然食用香料與色素行業(yè)現(xiàn)狀及前景分析2024-2030
- HG-T 2006-2022 熱固性和熱塑性粉末涂料
- 老舍《駱駝祥子》名著讀后感
- 實(shí)體瘤療效評(píng)價(jià)標(biāo)準(zhǔn)(RECIST11)
- JTT 680.1-2016 船用通信導(dǎo)航設(shè)備的安裝、使用、維護(hù)、修理技術(shù)要求 第1部分:總則
- 教案-中國書法史
- 隧道施工-緒論(使用)
- 電力系統(tǒng)動(dòng)態(tài)仿真與建模
- 五年級(jí)口算1000題(打印版)
評(píng)論
0/150
提交評(píng)論