1、編寫遞歸函數求 1+2+3+……+n 的和;
創新互聯建站是一家集網站建設,陽朔企業網站建設,陽朔品牌網站建設,網站定制,陽朔網站建設報價,網絡營銷,網絡優化,陽朔網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
2、編寫遞歸函數求 2*4*6*……*(2n) 的積;
3、編寫遞歸函數求 n 的階乘;
4、漢諾塔問題;
實際上很多問題都可以通過遞歸來實現,但是看到你的情況估計較難告肆的你實弊晌現不了,所以給你幾個簡單的練習一下,這樣可以增強對遞歸的理解,等理解的較襪卜轎為深入后再做稍微難一些的。
這個是山物鎮遞歸函數:
recursion(int x,int y)
{
if(y-1 == x)return x;
else return x+recursion(x+1);
}
使用的時候用另螞皮個逗粗函數調用。
舉一個用遞歸調用函數求輸入非負整數宏野的階乘配銀的例子,如下:
//#include?"stdafx.h"http://If?the?vc++6.0,?with?this?line.
#include?"stdio.h"
int?fact(int?n){
if(n==1?||?n==0)?return?1;
else?return?n*fact(n-1);
}
int?main(void){
int?x;
while(1){
printf("Input?x(int?12=x=0)...\nx=");
蔽賣喊???????if(scanf("%d",x),x=0??x=12)//x12時會使結果溢出
break;
printf("Error,redo:?");
}
printf("%d!?=?%d\n",x,fact(x));
return?0;
}
這是漢諾塔吧。
原理:(總共差巖掘n個盤子)
1、將第一個位置(起始位置)上的n-1個盤子移到第二個位置上,此時第一個位置只剩第n個盤子
2、將第一個棗虛位置上的最后一個盤子(第n個盤子)移到虛核第三個位置(目標位置)上,再將第二個位置上的n-1個盤子移到第三個位置上。
你不需要曉得n-1個盤子如何從一個位置移到另一個位置,讓程序做。n--n-1--n-2......1,問題不斷的小化,當n=1時,直接從第一個位置移到第三個位置,再倒過來推1--2--3......--n。最終問題就會被解決。
hanoi()函數就是將問題小化,使n--1
move()函數中char x是起始位置,char y是目標位置,即x--y.用A、B、C來顯示盤子是如何移動的
名稱欄目:C語言遞歸函數經典例題 c語言,遞歸
URL分享:http://vcdvsql.cn/article42/ddpidhc.html
成都網站建設公司_創新互聯,為您提供網站維護、移動網站建設、微信小程序、搜索引擎優化、手機網站建設、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯