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