概述:A有一个数字,让B去猜,A只能说“大了”,“小了”,“对了”,求在n次可以猜出的最大数。
思路:在正常猜数的时候,最多需要猜log(2)+1次就能把数字猜出来,也就是需要2^n-1次,所以推出解题答案。
感想:不算难的一道二分题目,个人思路是一点点从右侧推理,总结规律推出答案,但是看到这个解题方式,感觉很简单,所以学习了这个。
#include<iostream>
#include<algorithm>
#include<cmath>
#include<fstream>
#include<stdio.h>
#include<cstring>
using namespace std;
int main()
{
ifstream cin("in.txt");
int T;
cin >> T;
while (T--)
{
int n = 0;
cin >> n;
int x = 0;
x = pow(2, n) - 1;
cout << x << endl;
}
return 0;
}