用遞迴演算法計算鴨子數

2022-09-22 23:12:22 字數 552 閱讀 4281

用遞迴演算法計算鴨子數。

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

(1)題目分析:

設經過第n個村子時有count(n)只鴨子,賣去count(n)/2+1只鴨子,剩下count(n+1)只鴨子,則有count(n)=count(n)/2+1+count(n+1),即count(n)=2*(count(n+1)+1)。經過第8個村子時有2只鴨子,即count(8)=2。出發時共趕count(1)只鴨子,經過第n個村子時賣出count(n)/2+1只鴨子。

(2)演算法構造:

count(n)=2*(count(n+1)+1) ,1<=n<8

count(n)=2 , n=8

程式源**:

#include

using namespace std;

int count(int n) //經過第n個村子之前有count(n)只鴨子

void main()

}

遞迴求鴨子數

file name duck.cpp author 楊柳 date 2017 5 23 ide dev c 遞迴函式 f n 其中n為經過的村子數,f n 為經過n村子所剩下的鴨子數 includeusing namespace std 經過第幾個村子所剩餘的鴨子數,故總的鴨子數為第0個村子所剩餘的...

數的計算 遞推 遞迴

我們要求找出具有下列性質數的個數 包含輸入的正整數 n 先輸入乙個正整數n n 1000 然後對此正整數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個正整數,但該正整數不能超過原數的一半 3.加上數後,繼續按此規則進行處理,直到不能再加正整數為止。輸入n,輸出乙個整數 該整數我在 中...

數的計算 遞迴與函式自呼叫演算法

題目描述description 我們要求找出具有下列性質數的個數 包含輸入的自然數n 先輸入乙個自然數n n 1000 然後對此自然數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 3.加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入輸...