用python实现婓波那契算法

  网上搜了如何用python写婓波那契算法,感觉写得很乱,可以说完全看不懂。经过景丽洋的讲解后,再加上自我的了解后终于理通了,python的学习之路艰辛漫漫,一定不要放弃啊。

难点:在a=b,b=c值时,a与b的值是有化的,再次传入进去时都是不同的值。

#!/usr/bin/env python
# Author:William Huang
# 1,1,2,3,5,8....婓波那契数列

def feibonaqie():
    a = 1
    yield a
    b = 1
    yield b
    while a < 100:
        c = a + b    # 重点
        yield c    # 重点
        a = b     # 重点
        b = c      # 重点
l = feibonaqie()

for i in feibonaqie():  # for循环里内置__next__方法
    print(i)
时间: 2024-12-28 12:02:09

用python实现婓波那契算法的相关文章

python实现斐波那契数列(Fibonacci sequence)

使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐波那契数字.例如,1返回1 6返回8 我选择了两种方法,一种是将list变成一个队列,另一个则是使用环形队列.不多说,直接上代码:后面我会对为什么这样实现做一个解释 第一个是使用队列的方式: 1 def fibonacciSeq(num): 2 fibonacciSeqList = [] 3 for

Python计算斐波那契数列

利用Python计算第一个达到一百万位数的斐波那契数列各位数之和 结果为4501552 以下是我用到的代码,不是中间需要一些人工操作来加快收敛性,有兴趣读者可以写代码加快收敛 首先执行这个,可以大致确定一百万个数所在斐波那契序列的位置 i=1 j=1 k=i+j count=3 while count<4850000: i=j j=k k=i+j count+=1 result=str(k) print('k长度') k_len=len(result) print(k_len) sum=0 fo

斐波那契算法的对数解法 计算机程序的构造和解释 习题1.19

程序由Scheme语言编写,待会上别的语言实现. #lang racket ;斐波那契对数法 ;筛选 (define (fib n) (fib-iter 1 0 0 1 n)) (define (square x) (* x x)) (define (fib-iter a b p q count) (cond ((= count 0) b);count = 0时,fib(1) = 0 ((even? count);如果是偶数,那么,p,q的值分别为 ;p = p^2 + q^2 ;q = 2pq

python实现斐波那契数列

斐波那契数列的发明者是意大利数学家昂纳多.斐波那契(Leonardo Fibonacci).斐波那契数列又被称为黄金分割数列,或兔子数列.它指的是这样一个数列:0 1 1 2 3 5 8 13 21 34 ....在数学上,斐波那契数列以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2(N>=2,n属于N*).简单的说明斐波那切数列的规律为:第1个数为0,第2个数为1,之后每个数值都是前两位的和. #!/usr/bin/python3 # coding=utf-8

【Python】Python实现斐波那契数列

本节主要实现以下目标: 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/haizhibin1989/p/9158935.html

python之斐波纳契数列

斐波纳契数列 斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 这个数列从第3项开始,每一项都等于前两项之和. 示例1: 1 def sum(arg1,arg2,stop): 2 arg3 = arg1 + arg2 3 print(arg3,) 4 if arg3 < 10: 5 sum(ar

使用Python实现斐波那契数列

1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/legendjaking/p/10587314.html

Python实现斐波那契递归和尾递归计算

##斐波那契递归测试 def fibonacciRecursive(deepth): if deepth == 1: return 1 elif deepth == 2: return 1 else: return fibonacciRecursive(deepth - 1) + fibonacciRecursive(deepth - 2) ##斐波那契尾递归测试 def fibonacciTailRecursive(num, ret1, rte2): if num == 1: return r

使用python实现斐波那契序列

def f1(a,b,stop):     if a == stop:         print(a)         return True     elif b == stop:         print(a,b,sep=" ",end="\n")         return True     elif a > stop:         print("无效的输入")         return False     else: