Hdu 2178 猜數字
猜數字
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3415 Accepted Submission(s): 2458
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
求猜n次最大能猜到的數字,感覺像一種二分的思想,一個數字你要猜到它,最少猜log2(m)+1次就夠了,所以在n次之內能猜到的最大數,就是2^n-1
#include
#include
#include
#include
#include
#include
#define N 100
using namespace std;
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%d\n",(int)pow(2,n)-1);
}
return 0;
}