计算斐波那契数列

2024-09-19 14:11:16 浏览数 (3)

这里有一个简单的Python函数示例,它是一个计算斐波那契数列的函数。斐波那契数列是一个非常经典的数学问题,其中每个数字是前两个数字的和,通常序列从0和1开始。

代码语言:txt复制
def fibonacci(n, method='iterative'):
    """
    计算斐波那契数列的第n个数。
    
    参数:
    n (int): 要计算的斐波那契数列的位置。
    method (str): 计算方法,'iterative' 表示迭代法,'recursive' 表示递归法。
    
    返回:
    int: 斐波那契数列的第n个数。
    """
    if method == 'iterative':
        # 迭代法计算斐波那契数
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a   b
        return a
    elif method == 'recursive':
        # 递归法计算斐波那契数
        if n <= 1:
            return n
        else:
            return fibonacci(n - 1, 'recursive')   fibonacci(n - 2, 'recursive')
    else:
        raise ValueError("Unsupported method. Use 'iterative' or 'recursive'.")

# 调用函数
position = 10  # 我们想要计算斐波那契数列的第10个数
result = fibonacci(position, 'iterative')  # 使用迭代法
print(f"The {position}th Fibonacci number is: {result}")

在这个例子中,fibonacci 函数有两个参数:nmethodn 是一个整数,表示你想要计算斐波那契数列的第几个数字。method 是一个字符串,用于指定计算斐波那契数的方法,可以是 'iterative'(迭代法)或 'recursive'(递归法)。

函数内部,根据 method 参数的值,选择使用迭代法或递归法来计算斐波那契数。迭代法使用循环来计算,而递归法则通过函数自身调用来计算。

最后,我们通过调用 fibonacci 函数并传入参数 10'iterative' 来计算斐波那契数列的第10个数,并打印结果。

0 人点赞