【发布时间】:2017-02-27 00:15:03
【问题描述】:
# Uses python3
# Given two integers n and m, output Fn mod m (that is, the remainder of Fn when divided by m
def Huge_Fib(n,m):
if n == 0 : return 0
elif n == 1: return 1
else:
a,b = 0,1
for i in range(1,n):
a, b = b, (a+b) % m
print(b);
n,m = map(int, input().split());
Huge_Fib(n,m);
代码运行良好。但是,当我以 n = 99999999999999999, m = 2 运行一个案例时,我需要很长时间。您有更好的解决方案吗?
【问题讨论】:
-
呃,你期待什么?你有
for i in range(1,99999999999999999),这需要一点时间来迭代...... -
我想在 2-3 秒内运行它。但这需要很多时间@MarcB
-
没有其他更快的算法吗?
标签: python-3.x fibonacci modulo