최소공배수 Least Common Multiple (LCM)

Sooin Yoon·2025년 3월 17일

최소공배수

: 공통된 배수 중에서 가장 작은 수

ex) 3의 배수 : 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, ....
5의 배수 : 5, 10, 15, 25, 30, 35, 40, 45 ....

3과 5의 공배수 : 15, 30....
최소공배수 : 15

소인수분해로 구하는 최소공배수

ex) 6, 12, 15
2 3 6 15
3 1 2 5
=> 2 3 1 2 5 =60
공배수 60,120, 180...
최소공배수 : 60

두 개의 수를 입력하면 최소공배수를 출력하는 코드

num1 = int(input('1보다 큰 정수 입력:'))
num2 = int(input('1보다 큰 정수 입력:'))
maxNum = 0

for i in range(1, (num1+1)):
    if num1 % i == 0 and num2 % i == 0:
        print('공약수: {}'.format(i))
        maxNum = i

print('최대공약수 : {}'.format(maxNum))

<<<
공약수 : 1
공약수 : 2

최대공약수 : 2

세 개의 수를 입력하면 최소공배수를 출력하는 코드

num1 = int(input('1보다 큰 정수 입력:'))
num2 = int(input('1보다 큰 정수 입력:'))
num3 = int(input('1보다 큰 정수 입력: '))
maxNum = 0

for i in range(1, (num1+1)):
    if num1 % i == 0 and num2 % i == 0:
        maxNum = i

print('최대공약수 : {}'.format(maxNum))
minNum = (num1*num2) // maxNum
print('{}, {}의 최소공배수:{}'.format(num1, num2, minNum))

newNum = minNum
for i in range(1, (newNum+1)):
    if newNum % 1 == 0 and num3 % i == 0:
        maxNum = i

print('최대공약수: {}'.format(maxNum))

minNum = (newNum * num3) // maxNum
print('{}, {}, {}의 최소공배수: {}'.format(num1, num2, num3, minNum))```

0개의 댓글