導航:首頁 > 編程語言 > 遞歸函數編程

遞歸函數編程

發布時間:2024-08-04 00:42:35

A. C++緙栫▼ 緙栧啓閫掑綊鍑芥暟power(a,n)奼傚嚭a鐨刵嬈℃柟

紼嬪簭宸茬粡璋冭瘯榪囦簡錛屼綘鐪嬩笅鍚э紝鍙浠ョ殑璇濈粰涓濂借瘎
#include"iostream"
using namespace std;
float power(float a,int n)
{
if (n==1)return a;
else return a*=power(a,n-1);
}

int main()
{
float a;
int n;
cout<<"璇瘋緭鍏ュ疄鏁癮鍜姝f暣鏁n:"<<endl;
cin>>a>>n;
float i=power(a,n);
cout<<"n嬈℃柟鍚庯細"<<"a="<<i<<endl;
cout<<"n="<<n<<endl;
system("pause");

}

B. C++編程 用函數遞歸找一個數列中的最小值

intMin(int*iArray,intiIndex,intiLen)
{
if(iIndex==iLen-1)//遞歸到了最後一個數了,直接返回這個數
returniArray[iIndex];
else{
intsubMin=Min(iArray,iIndex+1,iLen);//遞歸查找後面的數的最小數
returniArray[iIndex]<=subMin?iArray[iIndex]:subMin;//跟當前的最小數比較查找最小值
}
}

調用:
intmin=Min(數組,0,數組長度);

C. 浠涔堟槸閫掑綊鍑芥暟

閫掑綊鍑芥暟鏄鎸囦竴縐嶇壒孌婄被鍨嬬殑鍑芥暟錛屽畠浼氬湪鍏跺畾涔夋垨瀹炵幇涓璋冪敤鑷韜銆

閫掑綊鏄涓縐嶅己澶х殑緙栫▼鎶鏈錛岀敤浜庤В鍐沖彲浠ュ垎瑙d負鏇村皬鐨勭浉浼奸棶棰樼殑闂棰樸傚湪閫掑綊鍑芥暟涓錛岄氬父浼氭湁涓涓鎴栧氫釜鍩烘湰鎯呭喌錛坆ase cases錛夛紝榪欎簺鏄鍑芥暟鍙浠ョ洿鎺ユ眰瑙h屾棤闇榪涗竴姝ラ掑綊鐨勬儏鍐點傛ゅ栵紝榪橀渶瑕佹湁閫掑綊鎯呭喌錛坮ecursive cases錛夛紝鍦ㄨ繖浜涙儏鍐典笅錛屽嚱鏁頒細閫氳繃璋冪敤鑷韜鏉ユ眰瑙f洿澶х殑闂棰樸

浠ヤ竴涓綆鍗曠殑鏁板﹀嚱鏁頒負渚嬶紝璁$畻涓涓鏁扮殑闃朵箻銆傞樁涔樺嚱鏁板彲浠ュ畾涔変負錛歯! = n * (n-1) * (n-2) * ... * 1銆傝繖鏄涓涓鍏稿瀷鐨勯掑綊闂棰橈紝鍥犱負涓涓澶ф暟鐨勯樁涔樺彲浠ュ垎瑙d負涓涓灝忔暟鐨勯樁涔樺拰璇ユ暟鐨勪箻縐銆傞掑綊鍑芥暟鍙浠ヨ繖鏍峰疄鐜幫細

鍦ㄨ繖涓渚嬪瓙涓錛屽熀鏈鎯呭喌鏄痭=0鏃訛紝姝ゆ椂鍑芥暟鐩存帴榪斿洖1銆傚逛簬鎵鏈夊叾浠栫殑n鍊礆紝鍑芥暟浼氳皟鐢ㄨ嚜韜鏉ヨ$畻(n-1)鐨勯樁涔橈紝鐒跺悗灝嗙粨鏋滀箻浠n銆傝繖涓榪囩▼浼氫竴鐩存寔緇錛岀洿鍒拌揪鍒板熀鏈鎯呭喌涓烘銆

鐒惰岋紝閫掑綊鍑芥暟闇瑕佽皚鎱庝嬌鐢錛屽洜涓哄畠浠鍙鑳戒細瀵艱嚧鏃犻檺寰鐜鎴栨爤婧㈠嚭銆傚傛灉閫掑綊娌℃湁姝g『璁劇疆鍩烘湰鎯呭喌錛屾垨鑰呴棶棰樼殑鍒嗚В鏂瑰紡涓嶆g『錛屽氨鍙鑳藉嚭鐜拌繖浜涢棶棰樸傚洜姝わ紝鍦ㄨ捐¢掑綊鍑芥暟鏃訛紝闇瑕佺『淇濇湁涓涓娓呮櫚鐨勭粓姝㈡潯浠訛紝騫朵笖姣忔¢掑綊璋冪敤閮借兘鏈濈潃榪欎釜鏉′歡鍓嶈繘銆

D. 編寫一個遞歸函數計算從1加到100的和

int fun(int x)
{
if(x>1)
return x+fun(x-1);
else
return x;
}
void main()
{
int sum;
sum=fun(100);
printf("sum=%d ",sum);
}

(4)遞歸函數編程擴展閱讀

編程語言中,函數Func(Type a,……)直接或間接調用函數本身,則該函數稱為遞歸函數。遞歸函數不能定義為內聯函數。

在數學上,關於遞歸函數的定義如下:對於某一函數f(x),其定義域是集合A,那麼若對於A集合中的某一個值X0,其函數值f(x0)由f(f(x0))決定,那麼就稱f(x)為遞歸函數。

一個含直接或間接調用本函數語句的函數被稱之為遞歸函數,在上面的例子中能夠看出,它必須滿足以下兩個條件:

1) 在每一次調用自己時,必須是(在某種意義上)更接近於解;

2) 必須有一個終止處理或計算的准則。

閱讀全文

與遞歸函數編程相關的資料

熱點內容
三維電子地圖加密 瀏覽:136
都市麗人的解壓視頻 瀏覽:864
我的世界伺服器轉送點怎麼轉 瀏覽:640
php用什麼linux系統 瀏覽:139
cgi模塊python 瀏覽:226
安卓手機如何悄無聲息整壞手機 瀏覽:808
php獲取資料庫名稱 瀏覽:557
app伺服器怎麼防止交互埠 瀏覽:833
對一個演算法的評價不包括 瀏覽:535
3D臉pdf 瀏覽:886
在編譯之前更改指定時間 瀏覽:360
機房伺服器電源線如何扎線 瀏覽:732
什麼演算法治宣傳 瀏覽:18
哪個app可以測溫槍 瀏覽:18
macmongodbphp 瀏覽:336
php寫游戲伺服器 瀏覽:875
對立陣營插旗命令 瀏覽:373
java實現帕斯卡三角形演算法 瀏覽:316
linux文件名限制 瀏覽:710
金稅三期代理伺服器地址是什麼意思 瀏覽:429