본문 바로가기

c언어 프로그래밍

백준) 최대공약수와 최소공배수

https://www.acmicpc.net/problem/2609 2609번 최대공약수와 최소공배수


문제

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.

출력

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

예제 입력 1 

24 18

예제 출력 1 

6
72






알고리즘

1. 입력받은 두 개의 숫자 중에서 더 작은 숫자를 small 변수에, 더 큰 숫자를 large 변수에 저장한다.

2. 최대공약수는 1부터 small까지의 숫자 i 중에서 large와 small을 나눴을때 나머지가 0을 만족하는 가장 큰 수이다.

3. 최소공배수는 large보다 큰 숫자 i 중에서 large와 small로 나눴을때 나머지가 0인 가장 작은 수이다. 





코드