用遞迴如下

2021-09-01 02:52:57 字數 1102 閱讀 5203

1.乙個人趕著鴨子去每個村莊賣,每經過乙個村子賣去所趕鴨子的一半又乙隻。這樣他經過了七個村子後還剩兩隻鴨子,問他出發時共趕多少只鴨子?經過每個村子賣出多少只鴨子?

(1)題目分析:

經過7個村子後還剩下兩隻鴨子,每經過乙個村莊賣當前鴨子的一半加乙隻,所以遞迴出口為經過第七個村子剩下的兩隻,遞迴體為經過下乙個村子的鴨子數加1乘以2就是當前村子的鴨子數。

(2)演算法構造:

total(number)=2;  number=7

total(number)=(total(number+1)+1)*2 0**實現如下:

/*author:王連霞

date:2018-11-15

version:1.0

desciption:通過遞迴實現乙個人趕著鴨子去每個村莊賣,每經過乙個村子賣去所趕鴨子的一半又乙隻。這樣他經過了七個村子後還剩兩隻鴨子,問他出發時共趕多少只鴨子?經過每個村子賣出多少只鴨子?

*/#include using namespace std;

int x;

int total(int number) //遞迴函式,number表示經過的村子數

else

}/*主函式*/

void main()

if(n%2==0) //遞迴體,當n為偶數時將其除以2

; //存放每個數字對應的字母

int num[10]=; //表示0-9對應字母的個數

char input[15];

char output[15];

void rs(int t,int length) //遞迴函式

,,,, };

int orange(int c[5][2], int i)

else //遞迴體

用遞迴操作逆序棧 遞迴

乙個棧依次壓入1,2,3,4,5那麼從棧頂到棧底分別為5,4,3,2,1。將這個棧轉置後,從棧頂到棧底為1,2,3,4,5,也就是實現了棧中元素的逆序,請設計乙個演算法實現逆序棧的操作,但是只能用遞迴函式來實現,而不能用另外的資料結構。給定棧的大小n和乙個棧stack,請返回逆序後的棧。測試樣例 5...

用遞迴寫迷宮

題目要求 輸入三個數,n m n和m表示迷宮的n行m列 當輸入m和n為0時結束輸入。起點用 s 表示,終點用 d 表示,牆壁用 x,表示可走路徑。例如 輸出 如果能找到路徑到出口則輸出路徑,否則輸出 no 解題思路 使用深度優先搜尋 dfs include using namespace std i...

成功的要訣如下

成功的要訣如下 如果,乙個人感覺自己什麼也不會,那,抓緊準備,用每乙個今天,去把自己的明天點綴。如果,乙個人感覺活得太累,那,提前準備,提公升自己的能力,就能提公升自己生活的品味。如果,乙個人感覺心情不對,那,馬上準備,穿上禮服盛裝,到友人的圈子裡尋找遠離孤獨的快慰。如果,乙個人感覺時光在浪費,那,...