A 猴子偷桃

2021-08-22 03:10:48 字數 981 閱讀 2460

喜歡西遊記的同學肯定都知道悟空偷吃蟠桃的故事,你們一定都覺得這猴子太鬧騰了,其實你們是有所不知:悟空是在研究乙個數學問題! 

什麼問題?他研究的問題是蟠桃一共有多少個! 

不過,到最後,他還是沒能解決這個難題,呵呵^-^ 

當時的情況是這樣的: 

第一天悟空吃掉桃子總數一半多乙個,第二天又將剩下的桃子吃掉一半多乙個,以後每天吃掉前一天剩下的一半多乙個,到第n天準備吃的時候只剩下乙個桃子。聰明的你,請幫悟空算一下,他第一天開始吃的時候桃子一共有多少個呢? 

input

輸入資料有多組,每組佔一行,包含乙個正整數n(1output

對於每組輸入資料,輸出第一天開始吃的時候桃子的總數,每個測試例項佔一行。

sample input

2

4

sample output

4

22

典型的遞迴求解,我剛開始進入了乙個誤區,首先遞迴的結束點一定是乙個確切的值,不能像寫數學表示式一樣寫遞迴,但是有可以借鑑的地方,我們可以逆向去推f(1)的值,根據數學表示式f(x)=f(x-1)/2-1;一直遞迴到結束點f(1)=1;此時返回函式值為1。遞迴結束。另外,剛開始我的誤區就是寫成了f(x)為返回值,回頭想來,這是不對的,返回值是確切的值,怎麼可能是表示式呢。。。先附上函式遞迴的**吧

#includeusing namespace std;

int fa(int a)

int s=(fa(a-1)+1)*2;//表示式

return s;

}int main()

}

還有陣列的遞迴**

#includeusing namespace std;

int main()

r[i-1]=(r[i]+1)*2;

}printf("%d\n",r[0]);

}return 0;

}

加油!

Python 猴子偷桃

猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個。第二天早上又將剩下的桃子吃掉一半又多吃了乙個,以後每天早上都吃了前一天剩下的一半零乙個。到第10早上再想吃時,就剩下乙個桃子了。求第一天共摘多少個桃子?逆向推理 設第9天有x個桃 x x 2 1 1 則x 4 為x x 1 2x 1fo...

python N猴子偷桃

usr bin python coding utf 8 author cy 輸入猴子數量 monkey str input input monkey num monkey 4 定義桃子總數函式 defshow n for i in range 1 monkey 1 當前猴子應該帶走的桃子數 t n ...

python 猴子偷桃問題

整理以備日後回顧 猴子第一天摘下若干 當即吃掉一半,不過癮所以又多吃了乙個 第二天早上醒來,又將剩下的 吃掉一半後又多吃了乙個,如此反覆,到第十天早上再想吃時,就剩下乙個 了。求第一天摘了多少 number 1for i in range 9 number 2 number 1 print 第一天共...