求最大公約數 & 最大公約數

我是nobody發表於2020-10-06

**

環境Python3.5

已知:最小公倍數 = 兩個數的乘積 / 最大公約數

先求 最大公約數 (輾轉相除法.): 以小數除大數,如果能整除,那麼小數就是所求的最大公約數.否則就用餘數來除剛才的除數;再用這新除法的餘數去除剛才的餘數.依此類推,直到一個除法能夠整除,這時作為除數的數就是所求的最大公約數
**

def gcd(maxvalue,minvalue):

    if maxvalue % minvalue == 0:
        return minvalue
    else:
        return gcd(minvalue, maxvalue % minvalue )



if __name__ == '__main__':
    array = list( map(int, input().split(' ')) )
    minvalue = min( array )
    maxvalue = max( array )
    print( gcd(maxvalue,minvalue) )

相關文章