SpringBoot怎么实现斐波那契数列

这篇文章主要讲解了“SpringBoot怎么实现斐波那契数列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么实现斐波那契数列”吧!

创新互联主营威宁网站建设的网络公司,主营网站建设方案,app软件开发,威宁h5小程序定制开发搭建,威宁网站营销推广欢迎威宁等地区企业咨询

  1. 一般用for来迭代生成器,当list来处理,不是直接生成一个列表(数据过大),我们保存的是算法,通过算法一个个推导

f=(i**2 for i in range(1,10))
  1. 函数实现生成器(yield语句),推导算法复杂,用列表生成式for循环无法实现,将return变成yeild

def func():print('aaaa')print("bbbbb")print('ccccc')yield 5print('zzzzz')yield 6f=func()#生成器,生成的东西当作list理解next(f)next(f)next(f)# for i in f:#     print(i)

访问:生成器,生成的东西当作list理解
1.生成器可以通过next(f)来实现访问,每次next到yield停止,下次从yield后继续
2.while 1:
next(f)一直访问但是最后会报错StopIteration
3. for i in f:
print(i)

斐波那契数列
法1:函数的形式

def fib(count):index=0x,y=0,1while index < count:print(y)x,y=y,x+y
        index+=1fib(9999)

法2:生成器形式

def fib(count):index=0x,y=0,1while index < count:yield y
        x,y=y,x+y
        index+=1return 'sunck is a good man'g=fib(9)##生成器# for i in g:##for 有个缺点就是执行到yield就停止了,拿不到generator的返回值,如果想拿要捕获StopIteration#     print(i)#用whilewhile 1:try:ret=next(g)print(ret)except StopIteration as e:print("返回值:",e.value)break

法3 递归50次就卡死了

import sys#递归50次就卡死了sys.setrecursionlimit(1000000)  # 例如这里设置为一百万def f(n):if n==1 or n==2:   return 1else:return f(n-1)+f(n-2)n=int(input())a=f(n)print(a%10007)

感谢各位的阅读,以上就是“SpringBoot怎么实现斐波那契数列”的内容了,经过本文的学习后,相信大家对SpringBoot怎么实现斐波那契数列这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页名称:SpringBoot怎么实现斐波那契数列
网页网址:http://azwzsj.com/article/ihoccp.html