1樓:匿名使用者
遞迴就是反覆呼叫函式自身【有條件的呼叫】,但不滿足呼叫自身的條件時,就返回到上一層【當然是和自己一樣的函式,但層次不同】,一直返回到第一次呼叫的地方
2樓:匿名使用者
static void main(string args)
...public static int process2(int i)...
3樓:匿名使用者
遞迴演算法:是一種直接或者間接地呼叫自身的演算法。在計算機編寫程式中,遞迴演算法對解決一大類問題是十分有效的,它往往使演算法的描述簡潔而且易於理解。
遞迴演算法的特點
遞迴過程一般通過函式或子過程來實現。
遞迴演算法:在函式或子過程的內部,直接或者間接地呼叫自己的演算法。
遞迴演算法的實質:是把問題轉化為規模縮小了的同類問題的子問題。然後遞迴呼叫函式(或過程)來表示問題的解。
遞迴演算法解決問題的特點:
(1) 遞迴就是在過程或函式裡呼叫自身。
(2) 在使用遞增歸策略時,必須有乙個明確的遞迴結束條件,稱為遞迴出口。
(3) 遞迴演算法解題通常顯得很簡潔,但遞迴演算法解題的執行效率較低。所以一般不提倡用遞迴演算法設計程式。
(4) 在遞迴呼叫的過程當中系統為每一層的返回點、區域性量等開闢了棧來儲存。遞迴次數過多容易造成棧溢位等。所以一般不提倡用遞迴演算法設計程式。
遞迴演算法所體現的「重複」一般有三個要求:
一是每次呼叫在規模上都有所縮小(通常是減半);
二是相鄰兩次重複之間有緊密的聯絡,前一次要為後一次做準備(通常前一次的輸出就作為後一次的輸入);
三是在問題的規模極小時必須用直接給出解答而不再進行遞迴呼叫,因而每次遞迴呼叫都是有條件的(以規模未達到直接解答的大小為條件),無條件遞迴呼叫將會成為死迴圈而不能正常結束。
例子如下:
描述:把乙個整數按n(2<=n<=20)進製表示出來,並儲存在給定字串中。比如121用二進位制表示得到結果為:「1111001」。
引數說明:s: 儲存轉換後得到的結果。
n: 待轉換的整數。
b: n進製(2<=n<=20)
void
numbconv(char *s, int n, int b)
/* figure out first n-1 digits */
numbconv(s, n/b, b);
/* add last digit */
len = strlen(s);
s[len] = "0123456789abcdefghijklmnopqrstuvwxyz"[n%b];
s[len+1] = '\0';
}void
main(void)
exit(0);
}遞迴演算法簡析(pascal語言)
遞迴是電腦科學的乙個重要概念,遞迴的方法是程式設計中有效的方法,採用遞迴編寫
程式能是程式變得簡潔和清晰.
一 遞迴的概念
1.概念
乙個過程(或函式)直接或間接呼叫自己本身,這種過程(或函式)叫遞迴過程(或函式).
c#中遞迴的具體用法
4樓:匿名使用者
遞迴就是自己呼叫自己的方法
一列數的規則如下: 1、1、2、3、5、8、13、21、34......
求第30位數是多少,用遞迴演算法實現。(c#語言)
-------------------------------------------
a0 = 0,a1 = 1,an = an-1 + an-2(n>=2)
int iarray = new int[31];
iarray[0] = 0;
iarray[1] = 1;
for (int i = 2; i <= 30; i++)
或者int i=0,ii=1,s=1,num=0;
while(num<=30)
else
ii=s;
num++;}
請問怎麼理解c#的遞迴呼叫?
5樓:匿名使用者
最好的辦法是自己除錯。看的最清楚。
遞迴呼叫就是 函式內部的某一句呼叫函式本身。遞迴呼叫函式體內部必須有終止條件,就像迴圈一樣,不然會無限遞迴導致程式堆疊不夠用,然後報錯。
用遞迴怎麼寫啊
6樓:匿名使用者
這個遞迴不了,直接迴圈就行了。
7樓:
顯然是用迴圈,直到s>=d結束,至於你說每加一次都要得到結果,那你用個陣列把每次加的結果記錄下來就行了。最後一起返回
C語言求此全排列遞迴演算法解析,C語言如何用遞迴演算法求1 2 3 n
used陣列是全域性變數有隱含初值0 關於全排列的演算法你可以理解為深搜加回溯。include define max 10 int used max 用來標記數字是否已經在前面使用過 int result max 存放結果int n void print 輸出結果void proc int step...
什麼是遞迴呼叫,什麼是遞迴函式? 怎樣實現遞迴?
小小歐平兒 遞迴呼叫是一種特殊的巢狀呼叫,是某個函式呼叫自己或者是呼叫其他函式後再次呼叫自己的,只要函式之間互相呼叫能產生迴圈的則一定是遞迴呼叫,遞迴呼叫一種解決方案,一種是邏輯思想,將一個大工作分為逐漸減小的小工作。遞迴函式特點 1 函式要直接或間接呼叫自身。2 要有遞迴終止條件檢查,即遞迴終止的...
什麼是遞迴的概念,什麼是“遞迴”?“遞迴”有什麼用?
聲琨 遞迴是一種重要的程式設計技術。該方法用於讓一個函式從其內部呼叫其自身。一個示例就是計算階乘。0 的階乘被特別地定義為 1。更大數的階乘是通過計算 1 2 來求得的,每次增加 1,直至達到要計算其階乘的那個數。下面的段落是用文字定義的計算階乘的一個函式。如果這個數小於零,則拒絕接收。如果不是一個...