导航:首页 > 编程语言 > python列表输出斐波那契

python列表输出斐波那契

发布时间:2022-07-26 19:17:23

A. 用python输出斐波那契数列的前20项,要用递归和非递归两种方法

 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

B. python编程,斐波那契数列

婓波那契数列(前两个数的和是第三个数)
def fib(num):
fibs=[0,1]
#num=input('请输入婓波那契数列中的数据个数:')
for i in range(int(num)-2):
fibs.append(fibs[-2]+fibs[-1])
print(fibs)
print(fibs[-2])
fib(10)

C. 百科里面的python实现斐波那契数列

def Fibonacci (stop_number):
a=[1,1]
i=0
while i<stop_number:
a.append(a[-1]+a[-2])
i=i+1
return(a)

D. python 控制台输出斐波那契数列应该用print还是return

print是打印输出到控制台

return是函数返回值

它们功能不同,不是2选1的关系。

如果是直接使用循环输出,那就只需要使用print

E. 用python输出斐波那契数列的前n项

a, b = 1, 1
print(a)
for i in range(n - 1):
a, b = b, a + b

print(a)

F. (python编程)使用函数输出斐波那契数列:[-1, -1, -2, -3, -5, -8, -13, -21, -34, -55](添加到列表)

你看看你递归代码的复杂度 是O(2^n) 而第二个的复杂度是O(n) 运行效率当然不同COUNTER = 0

def fibn(n):
global COUNTER
COUNTER += 1
if n == 0:
return 1
elif n == 1:
return 1
else:
return fibn(n-1) + fibn(n-2)

statistics = []

for i in range(35):
COUNTER = 0
fibn(i + 1)
statistics.append(((i + 1), COUNTER))

print statistics[(1, 1), (2, 3), (3, 5), (4, 9), (5, 15), (6, 25), (7, 41), (8, 67), (9, 109), (10, 177), (11, 287), (12, 465), (13, 753), (14, 1219), (15, 1973), (16, 3193), (17, 5167), (18, 8361), (19, 13529), (20, 21891), (21, 35421), (22, 57313), (23, 92735), (24, 150049), (25, 242785), (26, 392835), (27, 635621), (28, 1028457), (29, 1664079), (30, 2692537), (31, 4356617), (32, 7049155), (33, 11405773), (34, 18454929), (35, 29860703)]做了一个简单的proflieimport cProfile
import pstats

def fibn(n):
if n == 0:
return 1
elif n == 1:
return 1
else:
return fibn(n-1) + fibn(n-2)

print ' i, calls, time'
for i in range(50):
pr = cProfile.Profile()
pr.enable()
fibn(i)
pr.disable()
stats = pstats.Stats(pr)
stats.strip_dirs()
st = stats.stats[('test1.py', 3, 'fibn')]
print '%3d, %10d, %8f' % (i, st[1], st[3])
i, calls, time 0, 1, 0.000000 1, 1, 0.000001 2, 3, 0.000003 3, 5, 0.000005 4, 9, 0.000008 5, 15, 0.000012 6, 25, 0.000020 7, 41, 0.000033 8, 67, 0.000165 9, 109, 0.000088 10, 177, 0.000141 11, 287, 0.000228 12, 465, 0.000450 13, 753, 0.000601 14, 1219, 0.001016 15, 1973, 0.003561 16, 3193, 0.002593 17, 5167, 0.004372 18, 8361, 0.007097 19, 13529, 0.011073 20, 21891, 0.018552 21, 35421, 0.032467 22, 57313, 0.051762 23, 92735, 0.095383 24, 150049, 0.133490 25, 242785, 0.212390 26, 392835, 0.352861 27, 635621, 0.578204 28, 1028457, 0.987839 29, 1664079, 1.506812 30, 2692537, 2.682802 31, 4356617, 3.998936 32, 7049155, 8.089419 33, 11405773, 13.058235 34, 18454929, 23.930004 35, 29860703, 36.503880目测fibn(50)要算出来需要两周

G. 斐波那契数列Python

计算斐波那契数列的核心就是循环进行a,b=b,a+b
如此循环计算,直到b的值大于n,然后输出a与b即可。
n=int(input('input "n":'))
a, b = 1, 1
while b<=n:
....a, b = b, a+b
print('{} {}'.format(a, b))

H. python做斐波那契数列。

直接创建一个类然后调用下面的def函数即可
#斐波那契数列
'''
第一位是1
第二位是1
第三位是2
公式位F(n)=f(n-1)+f(n-2)

'''

def get_Fibonacci_sequence(n):
'''输入n,遍历到第n位的斐波那契数列'''
a,b=0,1
if n>=3:#即等于>2 相当于1,2位特殊处理
for i in range(n-1):#操作次数是n-1,去除一次第一位的操作
c=a+b
a,b,=b,c
print(b)#这里选择先改变再输出,可以减少1次的循环

def get_Fibonacci_Num(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数'''
a, b = 0, 1
if n >= 3: # 即等于>2 相当于1,2位特殊处理
for i in range(n - 1): # 操作次数是n-1,去除一次第一位的操作
c = a + b
a, b, = b, c
# 这里选择先改变再输出,可以减少1次的循环

return b
def get_Fibonacci_Num_recursion(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数,递归实现'''
if n==1 or n==2:#特别注意,这里要用逻辑或判断,不能直接用或判断,

return 1
else:

return get_Fibonacci_Num_recursion(n-1)+get_Fibonacci_Num_recursion(n-2)

get_Fibonacci_sequence(11)
print(get_Fibonacci_Num(11))
print(get_Fibonacci_Num_recursion(11))

I. python 打印斐波那契数列前二十项中中既能被三整除又能被五整除的数

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 3,n∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

def fibonacci(n):

"""生成斐波拉数列的元素"""

a, b = 0, 1

for item in range(n + 1):

a, b = b, a + b

return a

fibonacci_list = list()

for i in range(20): # 将前20个保存到列表中

fibonacci_list.append(fibonacci(i))

# ls=[1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765]

for item in fibonacci_list:

if item % 5 == 0 and item % 3 == 0: # 被3和5整除,即余数是0

print(item, end=" ")

J. 求助python大神。斐波那契数列,编写程序,利用列表计算斐波那契数列前30项,并以列表形式输出。

##缩进格式看图

l=[1,1]

for i in range(28):

l.append(l[-2]+l[-1])

print(l)

阅读全文

与python列表输出斐波那契相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:761
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:837
安卓怎么下载60秒生存 浏览:796
外向式文件夹 浏览:228
dospdf 浏览:424
怎么修改腾讯云服务器ip 浏览:380
pdftoeps 浏览:486
为什么鸿蒙那么像安卓 浏览:730
安卓手机怎么拍自媒体视频 浏览:180
单片机各个中断的初始化 浏览:717
python怎么集合元素 浏览:475
python逐条解读 浏览:827
基于单片机的湿度控制 浏览:492
ios如何使用安卓的帐号 浏览:877
程序员公园采访 浏览:805
程序员实战教程要多长时间 浏览:968
企业数据加密技巧 浏览:128
租云服务器开发 浏览:807
程序员告白妈妈不同意 浏览:330
攻城掠地怎么查看服务器 浏览:595