Python 计算 Fibonacci 序列的值

计算 Fibonacci 序列的值

计算 Fibonacci 序列的值(模块:numEx,所在文件名 num_hw.py,Level:★)
利用 Python 实现 Fibonacci 序列值的计算。实现两个函数:
(1)递归版本的 Fibonacci 序列值计算
函数原型:def fibonacci_recursion(number)
参数 number:Fibonacci 序列的第 number 项,number 为大于 0 的整数。
返回值:如果参数合规,则返回 Fibonacci 序列的第 number 项的值;如果参数不合规,
返回错误“Parameter Error.”。 (2)循环版本的 Fibonacci 序列值计算
函数原型:def fibonacci_loop(number)
参数 number:Fibonacci 序列的第 number 项,number 为大于 0 的整数。
返回值:如果参数合规,则返回 Fibonacci 序列的第 number 项的值;如果参数不合规,
返回错误“Parameter Error.”。
问题:
(1)查看 fibonacci_loop(36)与 fibonacci_recursion(36)的运行时间,哪个运行快?
(2)fibonacci_recursion 版本支持的最大输入是多少?最大值如何更改?

代码如下(函数引用)

def fibonacci_recursion(number):
    if number <= 0:
        return 'Parameter Error.'
    if number == 1  :
        return 1
    if number == 2 :
        return 1
    return fibonacci_recursion(number - 1) + fibonacci_recursion(number - 2)


def fibonacci_loop(number):
    if number <= 0:
        return 'Parameter Error.'
    if number == 0:
        return 'Parameter Error.'
    if number == 1:
        return 1
    i, num1, num2 = 0, 1, 1
    while i < number:
        res = num1
        num1, num2 = num2, num1 + num2  # num1,num2在参与运算的同时也在保存结果
        i += 1
    return res
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值