【问题描述】请使用二分查找算法在n个升序排列的整数中,查找整数x是否存在,若存在,输出“找到了”,否则输出“未找到”。
【输入形式】使用input函数输入n、x以及n个有序整数。
【输出形式】使用print函数输出结果。
【样例输入】第一行输入n的值,第二行到第六行输入n个数据的值(注意升序输入),最后一行输入待查找数据。
5
3
8
9
10
11
9
【样例输出】找到了
n = eval(input())
lt = []
for i in range(1, n + 1):
num = eval(input())
lt.append(num)
# 输入待查找数据
x = eval(input())
# 使用l和h确定待查找范围
l = 0
h = len(lt) - 1
flag = False
while l <= h and flag == False:# 使用m指向l和h的中间位置
m =(h + l)//2
if lt[m] == x:
flag = True
elif lt[m]!=x:
l = m + 1
else:
h = m
if flag == True:
print('找到了')
else:
print('未找到')