📌  相关文章
📜  检查第M个斐波那契数是否除以第N个斐波那契数(1)

📅  最后修改于: 2023-12-03 14:55:50.012000             🧑  作者: Mango

检查第M个斐波那契数是否除以第N个斐波那契数

什么是斐波那契数列?

斐波那契数列是指,一个数列中,第一个数和第二个数都为 1,从第三项开始,每一项都是前两项的和。即:

1, 1, 2, 3, 5, 8, 13, 21, 34, ...
如何求斐波那契数列中的第 M 个数和第 N 个数?

我们可以使用递归或循环来求解。递归的实现非常简洁:

def fibonacci(n):
    if n < 2:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

而循环的实现方式则需要用一个列表来存储已经计算过的值:

def fibonacci(n):
    if n < 2:
        return n
    else:
        fib = [1, 1]
        for i in range(2, n):
            fib.append(fib[i-1] + fib[i-2])
        return fib[-1]
如何检查第 M 个数是否能够整除第 N 个数?

通过以上方法,我们可以分别求出第 M 和第 N 个斐波那契数,然后进行取模运算。

m = 7
n = 4

fib_m = fibonacci(m)
fib_n = fibonacci(n)

if fib_m % fib_n == 0:
    print("第 %d 个数可以整除第 %d 个数。" % (m, n))
else:
    print("第 %d 个数不能整除第 %d 个数。" % (m, n))
总结

以上就是如何检查第 M 个斐波那契数是否能够整除第 N 个斐波那契数的方法。由于斐波那契数列的特殊性质,我们可以通过递归或循环来求解。