문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력 1 복사
24 18
예제 출력 1 복사
6
72
코드
def max(num1,num2):
max_num=1
for i in range(1,num2+1):
if(num2%i==0 and num1%i==0):
max_num=i
return max_num
def min(num1,num2):
min_num=num1
while(True):
if(min_num%num1==0 and min_num%num2==0):
return min_num
min_num+=1
num1,num2=map(int,input().split())
if(num1>num2):
print(max(num1,num2))
print(min(num1,num2))
else:
print(max(num2,num1))
print(min(num2,num1))
느낀점
728x90
'Algorithm' 카테고리의 다른 글
백준 1929번 : 소수구하기(python) (0) | 2021.11.25 |
---|---|
백준 1934번 : 최소공배수 (0) | 2021.11.23 |
백준 11656번 : 접미사 배열(python) (0) | 2021.11.22 |
백준 10824번 : 네 수(python) (0) | 2021.11.22 |
백준 10820번 : 문자열 분석(python) (0) | 2021.11.22 |