DigitalNomad

최소공배수 본문

파이썬으로 수학 풀기

최소공배수

훌루루훌루 2017. 12. 6. 13:43

유클리드 호제법으로 표현

큰 수 = 최대공약수 * 첫번째 몫 + r1

작은 수 = 최대공약수 * 두번째 몫 + r2

최소공배수 = 최대공약수 * 첫번째 몫 * 두번째 몫

변수를 보고 이해할 수 있게 변형

big = gcd * div1 + residue1

small = gcd * div2 + residue2

lcd = gcd * div1 * div2

추가 개념 참조

최대공약수 구하는 방법


big = int(input("big = "))

small = int(input("small = "))



# 최대공약수 구하자

def gcd(big,small):

    # 순서 맞추자

    if big < small:

        temp = big

        big = small

        small = temp

    # 최대공약수 구하자

    while small != 0:

        residue = big % small

        big = small

        small = residue

    return big

# 최소공배수 구하기

def lcb(big,small):

    # lcd = gcd * div1 * div2

    return gcd(big,small) * (big / gcd(big,small)) * (small / gcd(big,small)) 



print("The lcb is %d." %(lcb(big,small)))





코드 돌리기

22과 3의 최대공약수 구하자

big = 22

small = 3

The lcb is 66.

25와 35의 최대공약수 구하자

big = 25

small = 35

The lcb is 175.

'파이썬으로 수학 풀기' 카테고리의 다른 글

홀수 짝수 자판기  (0) 2017.12.10
구구단  (0) 2017.12.10
소인수분해  (0) 2017.12.10
근의 공식  (0) 2017.12.06
최대공약수  (0) 2017.12.06
Comments