导航:首页 > 编程语言 > 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列表输出斐波那契相关的资料

热点内容
为什么空气难压缩是因为斥力吗 浏览:641
郭天祥单片机实验板 浏览:599
服务器有什么危害 浏览:256
饥荒怎么开新的独立服务器 浏览:753
文件夹变成了 浏览:560
linuxpython绿色版 浏览:431
怎么下载小爱同学音箱app 浏览:554
python占位符作用 浏览:76
javajdbcpdf 浏览:543
php网页模板下载 浏览:192
python试讲课pygame 浏览:409
安居客的文件夹名称 浏览:677
家里服务器如何玩 浏览:451
网站源码使用视频 浏览:748
stc89c52单片机最小系统 浏览:452
邮件安全证书加密 浏览:416
云服务器如何访问百度 浏览:279
常州电信服务器dns地址 浏览:839
用小方块制作解压方块 浏览:42
图像压缩编码实现 浏览:68