SpringBoot怎么实现斐波那契数列
这篇文章主要讲解了“SpringBoot怎么实现斐波那契数列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么实现斐波那契数列”吧!
创新互联主营威宁网站建设的网络公司,主营网站建设方案,app软件开发,威宁h5小程序定制开发搭建,威宁网站营销推广欢迎威宁等地区企业咨询
一般用for来迭代生成器,当list来处理,不是直接生成一个列表(数据过大),我们保存的是算法,通过算法一个个推导
f=(i**2 for i in range(1,10))
函数实现生成器(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://scyanting.com/article/ihoccp.html