猜数字 |
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 169 Accepted Submission(s): 139 |
Problem Description
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 |
Author
Zhousc
|
Source
ECJTU 2008 Summer Contest
|
Recommend
lcy
|
分析:逆向二分
猜1次->1
猜2次->(1*2+1)
猜3次->(1*2+1)*2+1
以此类推
猜n次->2^(n-1)+...+2+1=2^n-1
#include<cstdio> int main() { int T,n; scanf("%d",&T); while(T--) { scanf("%d",&n); printf("%d\n",(1<<n)-1); } return 0; }