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;
}

猜你喜欢

转载自blog.csdn.net/CoderMaximum/article/details/86409186