题目

思路
二分法。。。就是这个输入输出有点迷,只是要求你输出每一次猜的数字就行
代码
#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;
}
这是一个关于利用二分法实现猜数字游戏的代码示例。程序不断接收用户输入,根据用户反馈('big'或'small')调整猜测值,直到用户输入'equal'为止。代码中考虑了输入输出的边界情况,并对二分法查找做了优化处理。
1331

被折叠的 条评论
为什么被折叠?



