简单的猜数字游戏,游戏规则如下:
给出任意一组整数范围,如0~100,玩家任意猜一个这组范围内的数字,会给出提示:猜的数字大了或者小了,问要猜出具体数字,需要才多少次呢?
二分法思路:
1.预先设定一个数为x;
2.将0和100分别做为最小值和最大值,假设每次猜都是取最大值和最小值的中间值;
3.将猜想值与x作比较,大了就将猜想值作为最大值,小了就将猜想值作为最小值;
4.多次循环,累计猜想次数。
代码:
x = int(raw_input('x:'))
low = 0
high = 100
i = 0
guess = 0
while guess != x:
guess = (low + high) / / 2
if guess > x:
high = guess
else:
low = guess
i+=1
print 'i:',i
假设我们要猜想x为34,则猜想次数i为:5
当然,0~100内最多猜想次数为7.
来源:CSDN
作者:PorterChu
链接:https://blog.csdn.net/weixin_41214891/article/details/104538013