코딩테스트/ELSE

[JO] 1658 최대공약수와 최소공배수

5월._. 2022. 7. 31.
728x90

[JO] 1658 최대공약수와 최소공배수

1. 문제

 

JUNGOL

 ...

www.jungol.co.kr

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


2. 풀이

a>=b일 때, a%b==0이면 a와 b의 최대공약수는 b다.

a%b!=0이라면 a와 b의 최대공약수는 b와 a%b의 최대공약수와 동일하다.

import java.io.*;
import java.util.*;
public class JO_1658_최대공약수와최소공배수 {
public static void main(String[] args) throws IOException {
StringTokenizer st = new StringTokenizer(new BufferedReader(new InputStreamReader(System.in)).readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int g = gcd(A,B);
System.out.println(g+"\n"+A/g*B);
}
private static int gcd(int a, int b){
if(a<b){
int tmp = a;
a = b;
b = tmp;
}
if(a%b==0) return b;
return gcd(b,a%b);
}
}

3. 결과

[JO] 1658 최대공약수와 최소공배수 - 3. 결과

'코딩테스트 > ELSE' 카테고리의 다른 글

[Softeer] 성적 평균 - JAVA  (0) 2023.02.05
[Softeer] 금고털이 - JAVA  (0) 2023.02.03
[JO] 1339 문자삼각형2 - JAVA  (0) 2022.06.03
[JO] 1338 문자삼각형1 - JAVA  (0) 2022.06.02
[JO] 1291 구구단 - JAVA  (0) 2022.06.01

댓글