温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot怎么实现斐波那契数列

发布时间:2022-03-18 16:53:11 来源:亿速云 阅读:206 作者:iii 栏目:大数据

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

  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怎么实现斐波那契数列这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI