刚刚开始学,不太懂怎么写,求懂得人麻烦指教
斐波那契数列相关的问题
可以先定义一个函数求某一项的斐波那契数列的值,然后在一个循环中调用这个函数,判断其值是否超过5000,如果没有超过则计算下一项斐波那契数列的值,同时记录项数,如果查过了,则打印第几项超过了5000,代码如下:
参考链接:
java斐波那契前100项以及求和_pyh2358的博客-CSDN博客_斐波那契数列前100项
def fib(n):
if n==1 or n==2: #如果项数为第1项或第2项,则返回斐波那契数列的值为1
return 1
else: #否则,返回前两项的斐波那契数列的和
return fib(n-1)+fib(n-2)
if __name__ == "__main__":
i=1 #初始项数为第1项
result=fib(i) #计算第1项斐波那契数列的值
while result<=5000: #如果斐波那契数列的某一项的值小于等于5000,则计算下一项斐波那契数列的值
i+=1 # 项数变为下一项
result=fib(i) #计算下一项斐波那契数列的值
#当循环退出,则计算出数列值超过5000的项数,打印这个结果
print("第"+str(i)+"项的斐波那契数列其值超过5000,其值是"+str(result)+".")