【水】HDU2013 蟠桃記

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 65536/32768 K (Java/Others)
[顯示標籤]
Description
喜歡西遊記的同學肯定都知道悟空偷吃蟠桃的故事,你們一定都覺得這猴子太鬧騰了,其實你們是有所不知:悟空是在研究一個數學問題!
什麼問題?他研究的問題是蟠桃一共有多少個!
不過,到最後,他還是沒能解決這個難題,呵呵^-^
當時的情況是這樣的:
第一天悟空吃掉桃子總數一半多一個,第二天又將剩下的桃子吃掉一半多一個,以後每天吃掉前一天剩下的一半多一個,到第n天準備吃的時候只剩下一個桃子。聰明的你,請幫悟空算一下,他第一天開始吃的時候桃子一共有多少個呢?
Input
輸入數據有多組,每組佔一行,包含一個正整數n(1<n<30),表示只剩下一個桃子的時候是在第n天發生的。
Output
對於每組輸入數據,輸出第一天開始吃的時候桃子的總數,每個測試實例佔一行。
Sample Input

2
4

Sample Output

4
22

Hint
JGShining
Source
  C語言程序設計練習(二)  
Related problem
2017 2010 2007 2015 2000

這是一道關於遞歸的題目,可以去列表找規律,第n天吃1個,剩0個,開始吃之前是一個。n-1......。然後在吃剩的數量中可以得出公式,上一天剩下總數=(今天剩下數+1)*2;然後寫個遞歸循環就可以了。

代碼如下;

#include <iostream>
using namespace std;

int main ()
{
while(cin>>n)
{
int s=1;
while(--n)
{
s=(s+1)*2;
}
cout<<s<<endl;
}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章