题目
思路
二分法。。。就是这个输入输出有点迷,只是要求你输出每一次猜的数字就行
代码
#include<iostream>
#include<climits>
using namespace std;
int main()
{
int up = 1e9;
int down = -1e9;
int data = 0;
string str;
while(str != "equal")
{
cout << data << endl;
cin >> str;
if(str == "equal")
break;
else if(str == "big")
up = data - 1;
else if(str == "small")
down = data + 1;
data = (down + up) / 2;
if((down + up) % 2)
{
if(data < 0)
data--;
else
data++;
}
}
return 0;
}