def mul(A, B): a, b, c = A d, e, f = B return a*d + b*e, a*e + b*f, b*e + c*f def pow(A, n): if n == 1: return A if n & 1 == 0: return pow(mul(A, A), n//2) else: return mul(A, pow(mul(A, A), (n-1)//2)) f=open("in2_4.txt",'r') s=f.read() import time import sys count=0 t1=time.clock() n=int(s) if n < 2: fib= n fout=open("out_24_2_4.txt",'w+') fib=pow((1,1,0), n-1)[0] t2=time.clock() t=t2-t1 memory=sys.getsizeof(n)+sys.getsizeof(fib)+244 fout.write(str(n)+'='+str(fib)+'\n'+'30'+','+repr(t)+','+repr(memory)) fout.close()