2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
[문제]
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
<알고리즘 분류> 수학, 정수론, 유클리드 호제법
[input]
첫째 줄에는 두 개의 자연수가 주어진다.
이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
[output]
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
[풀이 방법]
- 최소공배수와 최대공약수에 대한 함수 작성하여 간소화시킴
- 최대 공약수
- 큰 수에서 작은 수 나누었을 때 나머지가 0인 경우 작은 수가 최대공약수
- 나누어 떨어지지 않는 경우, 작은 수는 큰 수로, 나머지를 작은 수로 바꾸는 방법 반복
- 최소 공배수
- 두 수의 곱 / 최대공약수
-
Scanner 사용
-
최대 공약수와 최소 공배수에 대한 함수 작성
-
두 수 입력받아 각각 변수 A와 B에 저장
-
최대공약수 함수에 매개변수로 큰 수와 작은 수 순서로 넣어주어 연산
-
최소공배수 함수에 두 수와 최대공약수를 추가해주어 연산
-
최대공약수와 최소공배수를 각 한 줄씩 출력
성공 코드
'Android ᙏ̤̫͚ > 차근차근 JAVA' 카테고리의 다른 글
[백준 1850번] 최대공약수 (0) | 2021.02.12 |
---|---|
[백준 1934번] 최소공배수 (0) | 2021.02.12 |
[백준 10845번] 큐 (0) | 2021.02.12 |
[백준 10799번] 쇠막대기 (0) | 2021.02.11 |
[백준 9012번] 괄호 (0) | 2021.02.11 |