Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

공배수와 최소공배수(파이썬출력) 본문

프로그래밍 언어/Python

공배수와 최소공배수(파이썬출력)

ruby-jieun 2023. 1. 14. 12:32

 

 

공배수와 최소공배수

 


 

 

 

공배수

두 개 이상의 수에서 공통된 배수를 공배수라고 한다

 

 

 

최소공배수

공배수 중 가장 작은 수를 최소 공배수라고 한다.

소인수분해를 이용하면 최소공배수 및 공배수를 구할 수 있다.

좀 더 편리하게 최소공배수 구하는 방법 : 소수로 나눗셈

 

 

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

#num1이 num2보다 작다고 가정하고 프로그램 작성
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)) #우선 최대공약수 구하기

minNum = (num1 * num2) // maxNum #숫자두개를 곱해서 최대공약수로 나눈다
print('최소공배수: {}'.format(minNum))

 

 

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

# 두 개의 수에 대한 최소공배수를 구한 후 다시 세번째 수의 공배수를 구한다.
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 % i == 0 and num3 % i == 0:
        maxNum = i

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

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

 

 

섬마을에 과일, 생선, 야채를 판매하는 배가 다음 주기로 입항한다고 할 때, 모든 배가 입항하는 날짜를 계산해보자.

ship1 = 3; ship2 = 4; ship3 = 5
maxDay = 0

for i in range(1, (ship1 + 1)):
    if ship1 % i == 0 and ship2 % i == 0:
        maxDay = i

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

minDay = (ship1 * ship2) // maxDay
print('{}, {}의 최소공배수: {}'.format(ship1, ship2, minDay))


newDay = minDay
for i in range(1, (newDay + 1)):
    if newDay % i == 0 and ship3 % i == 0:
        maxDay = i

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

minDay = (newDay * ship3) // maxDay
print('{}, {}, {}의 최소공배수: {}'.format(ship1, ship2, ship3, minDay))

print('{}일마다 모든 선박이 입항합니다.'.format(minDay))
Comments