Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
Tags
- SSAFY 테스트
- SeongSeobDang
- SSAFY 10기 화이팅
- have a nice day
- 텐션 업 10기!
- SSAFY IM/A
- DP
- 텐션 업 10기 화이팅
- 수학
- Have a nice day.
- 우유가옆으로넘어지면아야
- BFS
- 자료구조
- I am Korean
- 네트워크
- 자고 싶다
- HAVE A GOOD DAY
- DFS
- Have a good day :)
- 우유아야
- 모르고리즘
- 코로나 싫어요
- 아자아자 화이팅
- 우유가 옆으로 넘어지면 아야
- Java 환경 설정
- SSAFY 화이팅
- LeetCode #릿코드 #좋은 하루 되세요 #Have a nice day
- amazon
- Hamming weight
Archives
- Today
- Total
Hope Everyone Is Happy
[브론즈 1] 2609. 최대공약수와 최소공배수 (Java) 본문
※ 백준 (Baekjoon)/[Java] 문제 풀이 ( Solve the problems)
[브론즈 1] 2609. 최대공약수와 최소공배수 (Java)
J 크 2023. 8. 1. 11:41728x90
반응형
https://www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
금주는 수학 문제 관련된 알고리즘을 주로 풀이를 진행할 예정입니다!
※ 문제를 요약하면 아래와 같습니다.
▶ 두 수가 입력 되면 최대공약수와 최소공배수를 출력합니다.
◈ Input
24 18
◈ Output
6
72
◎ 코드 작성 전, 아래와 같이 솔루션을 정리하였습니다.
▶ 최대 공약수는 유클리드 호제법 구현. ( 저는 아래 위키에서 예시만 보고 직접 코드로 구현 해보았습니다! )
( Ref : https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 )
▶ 최소공배수 = 두 수의 곱 / 최대공약수 형태로 구현.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bReader.readLine());
int nFirstNum = Integer.parseInt(st.nextToken());
int nSecondNum = Integer.parseInt(st.nextToken());
int nMul = nFirstNum * nSecondNum;
// 최대 공약수는 나머지가 0이 될 때 까지.
int nRemainder = 0;
while(nSecondNum > 0) {
nRemainder = nFirstNum % nSecondNum;
nFirstNum = nSecondNum;
nSecondNum = nRemainder;
}
// 최대 공약수
// GCL is stands for Greatest Common divisor
int nGCL = nFirstNum;
// 최소 공배수
// 최소 공배수 = 두 수의 곱 / 최대 공약수.
// LCM is stands for Least Common Multiple
int nLCM = nMul / nGCL;
System.out.println(nGCL);
System.out.println(nLCM);
}
}
읽어주셔서 감사합니다!
Good Luck! (피드백 고맙습니다)
'※ 백준 (Baekjoon) > [Java] 문제 풀이 ( Solve the problems)' 카테고리의 다른 글
[실버 1] 6588. 골드바흐의 추측 (Java) (0) | 2023.08.03 |
---|---|
[실버 3] 1929. 소수 구하기 (Java) (0) | 2023.08.02 |
[브론즈 2] 2747. 피보나치 (Java) (0) | 2023.07.31 |
[실버1] 2178. 미로 탐색 (Java) (2) | 2023.07.31 |
[실버5] 1316. 그룹 단어 체커 (Java) (0) | 2023.07.30 |