1. 程式人生 > >hdu_problem_2042_不容易系列之二

hdu_problem_2042_不容易系列之二

由題目可知公式為: a n 2 1 = a
n 1 a n = 2
( a n 1 1 )
\frac{a_n}{2} - 1 =a_{n-1}\Rightarrow a_n = 2(a_{n-1}-1)

/*
*
*Problem Description
*你活的不容易,我活的不容易,他活的也不容易。不過,如果你看了下面的故事,就會知道,有位老漢比你還不容易。
*
*重慶市郊黃泥板村的徐老漢(大號徐東海,簡稱XDH)這兩年辛辛苦苦養了不少羊,到了今年夏天,由於眾所周知的高溫乾旱,實在沒辦法解決牲畜的飲水問題,就決定把這些羊都趕到集市去賣。從黃泥板村到交易地點要經過N個收費站,按說這收費站和徐老漢沒什麼關係,但是事實卻令徐老漢欲哭無淚:
*
*(鏡頭回放)
*
*近景:老漢,一群羊
*遠景:公路,收費站
*
*......
*
*收費員(彬彬有禮+職業微笑):“老同志,請交過路費!”
*
*徐老漢(愕然,反應遲鈍狀):“鍋,鍋,鍋,鍋-爐-費?我家不燒鍋爐呀?”
*
*收費員(職業微笑依然):“老同志,我說的是過-路-費,就是你的羊要過這個路口必須交費,understand?”
*
*徐老漢(近鏡頭10秒,嘴巴張開):“我-我-我知道汽車過路要收費,這羊也要收費呀?”
*
*收費員(居高臨下+不解狀):“老同志,你怎麼就不明白呢,那麼我問你,汽車幾個輪子?”
*
*徐老漢(稍放鬆):“這個我知道,今天在家裡我孫子還問我這個問題,4個!”
*
*收費員(生氣,站起):“嘿!老頭,你還罵人不帶髒字,既然知道汽車四個輪子,難道就不知道這羊有幾條腿嗎?!”
*
*徐老漢(尷尬,依然不解狀):“也,也,也是4個呀,這有關係嗎?”
*
*收費員(生氣,站起):“怎麼沒關係!我們頭說了,只要是4條腿的都要收費!”
*
*......
*
*(畫外音)
*
*由於徐老漢沒錢,收費員就將他的羊拿走一半,看到老漢淚水漣漣,猶豫了一下,又還給老漢一隻。巧合的是,後面每過一個收費站,都是拿走當時羊的一半,然後退還一隻,等到老漢到達市場,就只剩下3只羊了。
*
*你,當代有良知的青年,能幫忙算一下老漢最初有多少隻羊嗎?
*
*
*Input
*輸入資料第一行是一個整數N,下面由N行組成,每行包含一個整數a(0<a<=30),表示收費站的數量。
*
*
*Output
對於每個測試例項,請輸出最初的羊的數量,每個測試例項的輸出佔一行。
*
*
*Sample Input
*2
*1
*2
*
*
*Sample Output
*4
*6
*
*
*Author
*lcy
*
*
*Source
*2005實驗班短學期考試
*
*
*Recommend
*lcy
*
*/
#include<iostream>
using namespace std;
int a[31] = { 3 };
void func() {
 for (int i = 1; i < 31; i++) {
  a[i] = 2 * (a[i - 1] - 1);
 }
}
int main() {
 int n, x;
 func();
 cin >> n;
 for (int i = 0; i < n; i++) {
  cin >> x;
  cout << a[x] << endl;
 }
 system("pause");
 return 0;
}