这个代码都是什么意思啊?
lst,num都是干什么的?
那个high为什么要减一😢
这段代码是一个二分查找算法。lst 是一个有序列表,num 是要在列表中查找的数字。high 减一是因为如果 lst[mid] 大于 num,那么 num 一定不在 lst[mid] 及其右边的位置,所以将搜索范围缩小到 lst[mid] 左边的位置。
运行效果✨:
请输入数字:128
大于128的最小Fibonacci数是: 144
它是数列中的第12个数
实现代码🧑🏻💻:
num = int(input('请输入数字:'))
# 直接使用上面提到的fibonacci函数
def fib2(n):
if n == 1 or n == 2:
return 1
else:
return fib2(n - 1) + fib2(n - 2)
if num <= 0:
print('无效的输入!')
else:
for i in range(1, num + 1):
if fib2(i) > num:
print('大于{}的最小斐波那契数是: {}\n它是数列中的第{}个数'.format(num, fib2(i), i))
break
相关内容