Pagini recente » Cod sursa (job #3250762) | Cod sursa (job #475960) | Cod sursa (job #706477) | Cod sursa (job #1911806) | Cod sursa (job #2635360)
import math
def multiply(A, B, C):
for i in range(2):
for j in range(2):
for k in range(2):
C[i][j] = (C[i][j] + A[i][k] * B[k][j]) % 666013
n = int(open('kfib.in').read())
C = [[0, 1], [1, 1]]
M = [[1, 0], [0, 1]]
for i in range(int(math.log2(n)+1)):
if n & (1 << i):
AUX = [[0, 0], [0, 0]]
multiply(M, C, AUX)
M = AUX
AUX = [[0, 0], [0, 0]]
multiply(C, C, AUX)
C = AUX
open('kfib.out', 'w').write(str(M[1][1]))