遞迴思想分析 以乙個簡單的例子為例

2021-05-18 01:36:28 字數 1575 閱讀 7198

遞迴演算法分析----以乙個最簡單的例子為例

題目:用遞迴的方法將整數按高到低位輸出相應的數字字元.例如

,對整數

603,

將輸出3

個數字6,0,3.

源程式:

#include

int main(void)

fun(n);

return 0; }

void fun(int k)

分析:咱們以這個例子來解釋遞迴。遞迴就是自己呼叫自己的意思,在

void fun(int k)

函式中,有一句是

fun(a);

這就是用到了遞迴。

現在以輸入

603為例: 輸入

603後,

k=603,

進到void fun(int 603)

這個函式:

int a;

a=603/10=60;

if(60!=0)

fun(a);(1)

putchar(603%10+』0』);

printf(",");

句子(1

)中60

不等於0

這個是成立的,所以要執行

fun(a)

,也就是

fun(60)

這個函式,所以

fun(60)

又是乙個完整的函式:

int a;

a=60/10=6;

if(6!=0)

fun(a);(2)

putchar(60%10+』0』);

printf(",");

句子(2)中

6不等於

0也是成立的,所以要執行

fun(a)

,也就是

fun(6)

這個函式,所以

fun(6)

也是乙個完整的函式:

int a;

a=6/10=0;

if(0!=0)

fun(0);(3)

putchar(6%10+』0』);

printf(",");

句子(3)中

0不等於

0這個是不成立的,所以

fun(0)

這個函式不被執行,遞迴就結束了。

所以整個

void fun(int k)

函式展開來就是:

void fun(int 603)

putchar(60%10+'0');//

輸出'0'

printf(","); }

putchar(603%10+'0');//

輸出'3'

printf(","); }

紅色**部分就是上面的句子

(2)的完整內容

,紅色**加上藍色**之和就是句子(

1)展開的完整內容。

整個程式順序執行下來,先輸出

6,再輸出

0,最後輸出

3

乙個簡單css例子

lang en charset utf 8 css講解title rel stylesheet href style.css body div dd xddaa hover abc ulli first child ulli last child ulli nth child 3 ulli only...

乙個簡單的json例子

名稱 年齡郵箱 response.setcontenttype text html charset utf 8 response.setheader cache control no cache jsonobject json new jsonobject try json.put jobs mem...

乙個poll的簡單例子

該程式使用poll事件機制實現了乙個簡單的訊息回顯的功能,其伺服器端和客戶端的 如下所示 伺服器端 start from the very beginning,and to create greatness author chuangwei lin e mail 979951191 qq.com b...