python 二分法 蓝桥杯

对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。

python 二分法 蓝桥杯_第1张图片

 

python 二分法 蓝桥杯_第2张图片

 

思想简单,效率及高。

# 完成一个猜字游戏,比如 value等于56
# 假设需要你在0,100区间年内找出他的他的下标是多少??
def bin_research(left, right, value, a):
    while (left < right):
        mid = (left + right)//2
        if (a[mid]>=value):
            right = mid
        else:
            left = mid+1
        print(left,":",right)
    return left



value = 100

a = [i for i in range(100,201)]

left = 0
right = 100


print(bin_research(left, right, value, a))

你可能感兴趣的:(蓝桥杯,职场和发展)