求前n项的斐波那契数列、求两个数的最小公倍数、求两个数的最大公约数

class Fib(object):
    def __call__(self,n):
        a=[0,1]
        for i in range(n-2):
            an=a[-2]+a[-1]
            a.append(an)
        return a

f = Fib()
print f(10)

class Fib(object):
    def __call__(self, num):
        a, b, L = 0, 1, []
        for n in range(num):
            L.append(a)
            a, b = b, a + b
        return L

f = Fib()
print f(10)





#coding=utf-8
#最小公倍数
def dgb(a,b):
    i = 1
    result = max(a,b)
    while result % min(a,b) != 0:
        i += 1
        result = max(a,b)*i
    return result


#最大公约数
def dgy(a,b):
    result = min(a, b)
    for i in range(min(a,b),0,-1):
        if a % i == 0 and b % i == 0:
            return i

#最大公约数
def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)



print dgy(88, 16)
print gcd(88,16)


原文地址:https://www.cnblogs.com/suitcases/p/9804510.html