def mcd (a,b): if a<0: a=-a if b<0: b=-b while b: a,b=b,a%b return a --------------------------------------- def mcd (a,b): if a<0: a=-a if b<0: b=-b if b==0: return a return mcd(b,a%b) --------------------------------------- def mcde (a,b): if a<0: a=-a if b<0: b=-b if b==0: return a,1,0 d,x,y=mcde(b,a%b); alfa=a/b return d,y,x-alfa*y --------------------------------------- def fib (n): if n<=1: return 1 a=b=1 for k in xrange(n-1): a,b=a+b,a return a --------------------------------------- for n in xrange(10): print fib(n), # 1 1 2 3 5 8 13 21 34 55 print for n in xrange(50,61): print fib(n) # Output: 20365011074 32951280099 53316291173 86267571272 139583862445 225851433717 365435296162 591286729879 956722026041 1548008755920 2504730781961 --------------------------------------- def fibr (n): if n<=1: return 1 return fibr(n-1)+fibr(n-2) --------------------------------------- def fibs (n): if n==0: return [1,0] (a,b)=fibs(n-1); return [a+b,a] --------------------------------------- for n in xrange(50,61): print fibs(n)[0]