nyoj 324-猴子吃桃问题 (m[i] = (m[i-1] + 1) * 2)

324-猴子吃桃问题


内存限制:64MB 时间限制:3000ms 特判: No
通过数:20 提交数:21 难度:0

题目描述:

有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29)

输入描述:

第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);

输出描述:

每一行数据是桃子的总个数

样例输入:

2
3
11

样例输出:

22
6142

C/C++  AC:

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7 #include <set>
 8 #include <map>
 9 #include <queue>
10 #include <climits>
11 #define PI 3.1415926
12 
13 using namespace std;
14 const int MY_MAX = 35;
15 int N, m[MY_MAX];
16 
17 void cal_m()
18 {
19     m[1] = 4;
20     for (int i = 2; i <= 33; ++ i)
21         m[i] = (m[i - 1] + 1) * 2;
22 }
23 
24 int main()
25 {
26     cal_m();
27     cin >>N;
28     while (N --)
29     {
30         int temp;
31         cin >>temp;
32         cout <<m[temp] <<endl;
33     }
34 }

猜你喜欢

转载自www.cnblogs.com/GetcharZp/p/9338113.html