喜歡西遊記的同學肯定都知道悟空偷吃蟠桃的故事,你們一定都覺得這猴子太鬧騰了,其實你們是有所不知:悟空是在研究乙個數學問題!
什麼問題?他研究的問題是蟠桃一共有多少個!
不過,到最後,他還是沒能解決這個難題,呵呵^-^
當時的情況是這樣的:
第一天悟空吃掉桃子總數一半多乙個,第二天又將剩下的桃子吃掉一半多乙個,以後每天吃掉前一天剩下的一半多乙個,到第n天準備吃的時候只剩下乙個桃子。聰明的你,請幫悟空算一下,他第一天開始吃的時候桃子一共有多少個呢?
input
輸入資料有多組,每組佔一行,包含乙個正整數n(1output
對於每組輸入資料,輸出第一天開始吃的時候桃子的總數,每個測試例項佔一行。
sample input
2sample output4
4典型的遞迴求解,我剛開始進入了乙個誤區,首先遞迴的結束點一定是乙個確切的值,不能像寫數學表示式一樣寫遞迴,但是有可以借鑑的地方,我們可以逆向去推f(1)的值,根據數學表示式f(x)=f(x-1)/2-1;一直遞迴到結束點f(1)=1;此時返回函式值為1。遞迴結束。另外,剛開始我的誤區就是寫成了f(x)為返回值,回頭想來,這是不對的,返回值是確切的值,怎麼可能是表示式呢。。。先附上函式遞迴的**吧22
#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 第一天共...