为了账号安全,请及时绑定邮箱和手机立即绑定

使用比奈公式在 python 中获取较大斐波那契数的准确值

使用比奈公式在 python 中获取较大斐波那契数的准确值

aluckdog 2021-10-26 16:08:51
我正在学习 itertools 并试图测试在 python 中实现的 Binet 公式的准确性。使用 itertools 的原因是我假设这将需要大量迭代,并且只有在大量迭代后才会出现差异。from math import sqrtimport itertools#fibonacci function 2def fib1():    n = -1    while True:        n += 1        yield int(((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5)))#fibonacci function 1def fib2():    a,b = 0,1    while True:        yield a        a, b = b, a + br=itertools.dropwhile(lambda x: x[0]==x[1],itertools.zip_longest(fib1(),fib2()))for item in itertools.islice(r,0,1):    print(item)输出:(498454011879265, 498454011879264)在使用之前int()我使用round()过fib1(),结果是(308061521170130, 308061521170129)可以做些什么来提高我的比奈公式实现的准确性?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信