hdu A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" .问B猜n次可以猜到的最大数.Input第1行是整数T,表示有T组数据,下面有T行 每行一个整数n (1 ≤ n ≤ 30) Output猜n次可以猜到的最大数Sample Inp

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 17:16:45
hdu A有1数m,B来猜.B每猜一次,A就说

hdu A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" .问B猜n次可以猜到的最大数.Input第1行是整数T,表示有T组数据,下面有T行 每行一个整数n (1 ≤ n ≤ 30) Output猜n次可以猜到的最大数Sample Inp
hdu
A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" .
问B猜n次可以猜到的最大数.
Input
第1行是整数T,表示有T组数据,下面有T行
每行一个整数n (1 ≤ n ≤ 30)
Output
猜n次可以猜到的最大数
Sample Input
2
1
3
Sample Output
1
7
他要我们输出的是什么?

hdu A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" .问B猜n次可以猜到的最大数.Input第1行是整数T,表示有T组数据,下面有T行 每行一个整数n (1 ≤ n ≤ 30) Output猜n次可以猜到的最大数Sample Inp
是这样的,条件:A有一数字m,B猜n次.题目应该默认m为正整数.
题目要求,输入的是n,也就是说输入的是B猜的次数.而输出的是B猜n次保证能猜到m的情况下,m可能的最大值.
比如第一个例子,B猜1次保证猜中,那么因为m是正整数,则m最大只能为1.假如m可以是2,那B猜一次就不能保证猜中m,所以m不能取2.第二个例子类似.
#include
#include
using namespace std;
int main()
{
int n,t;
while(scanf("%d",&t)!=EOF)
{
while(t--&&scanf("%d",&n))
{
printf("%d\n",(int)pow(2,n)-1);
}
}
return 0;
}