Fibonacci Pisano:如何进行改进(Python3)

时间:2019-05-18 06:55:51

标签: python fibonacci

我试图输出F(n)mod m来查找斐波那契数的余数,其中F(n)可能是一个很大的数:

# Uses python3
n, m =  [int(x) for x in input().split()]

def fib(n):
    a = [0, 1]
    if (n <=1):
        return n
    else:
        for i in range(1, n):
            a.append((a[-1] + a[-2])%m)
        return a[i+1]
print (fib(n))

当我输入239 1000时,它返回161作为余数,这是正确的。但是,例如更大的投入。 2816213588 239,它似乎已超过时间限制,我该怎么做才能改善代码?谢谢。

0 个答案:

没有答案