숫자 2개를 입력받아 그 두 수의 최대공약수, 최소공배수를 구하자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
a, b = map(int, input('숫자 2개를 입력하세요 : ').split())
r = 1
if a > b:
high = a; low = b
else:
high = b; low = a
while r > 0:
r = high % low
high = low
low = r
l = a * b // high
print('최대공약수 : {}, 최소공배수 : {}'.format(high, l))
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
a, b = map(int, input('숫자 2개를 입력하세요 : ').split())
# 숫자 2개를 입력받아 큰 수와 작은 수를 판단한다.
r = 1 # 나머지를 기억하는 변수 r
if a > b:
high = a; low = b
else:
high = b; low = a
while r > 0:
# 큰 수를 작은 수로 나눈 나머지가 0이 될 때까지 반복하며 최대공약수를 계산한다.
r = high % low # 큰 수를 작은 수로 나눈 나머지를 계산한다.
high = low # 큰 수를 기억할 기억장소에 작은 수를 넣어준다.
low = r # 작은 수를 기억할 기억장소에 나머지를 넣어준다. - 0이 될 때까지 무한루프
#===========================================
# 최소공배수를 계산하고 최대공약수와 최소공배수를 출력한다.
l = a * b // high # 몫 (//) 연산자로 하면 소수점이 나오지 않는다.
print('최대공약수 : {}, 최소공배수 : {}'.format(high, l))
|
cs |
'python' 카테고리의 다른 글
파이썬/python/달팽이 배열 (1) | 2019.12.27 |
---|---|
파이썬/python/주민등록번호검증문제 (0) | 2019.12.26 |
python/파이썬/로또추첨기 만들기/ (0) | 2019.12.22 |
코딩도장 문제풀이/ Special Sort (0) | 2019.12.22 |
python/파이썬/나이문제/과목평균문제/ (0) | 2019.12.22 |