斐波那契数列又称为兔子数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子引入,这个数列中的数据满足以下公式:
F(1)=1, F(2)=1, F(n)= F(n-1) + F(n-2) (n>=3,n∈N*)
要求编写程序,实现根据用户输入的数字输出斐波那契数列的功能。
基本要求:根据题目描述中的公式,可以定义一个递归函数fibonacci (n),该函数中n表示指定的斐波那契数,边界条件为n=1或n=2,递归公式为fibonacci (n-1)+ fibonacci (n-2)。
# -*- coding: UTF-8 -*-
# Filename : test.py
# 获取用户输入数据
nterms = int(input('请输入一个正整数:'))
# 第一和第二项
n1 = 1
n2 = 1
count = 2
# 判断输入的值是否合法
if nterms <= 0:
print("请输入一个正整数。")
elif nterms == 1:
print(n1)
else:
print(n1, n2, end=" ")
while count < nterms:
nth = n1 + n2
print(nth, end=" ")
# 更新值
n1 = n2
n2 = nth
count += 1
代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。
def fibonacci(n):
if n==1 or n==2:
s = 1
else:
s = fibonacci(n-1) + fibonacci(n-2)
return s
n=int(input('请输入一个正整数:'))
for i in range(1,n+1):
print(fibonacci(i),end=' ')
def fib(n):
if n<=2:
return 1
else:
return fib(n-1)+fib(n-2)
def main():
n=int(input("请输入整数:"))
for i in range(1,n+1):
print(fib(i),end=" ")
if __name__=="__main__":
main()
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632