문제
https://www.acmicpc.net/problem/1934
두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다.
두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오.
풀이
저번에 푼 문제랑 같은 문제다. 저번 게시글에서 설명한 유클리드 알고리즘을 사용하면 된다.
https://red-mimmu.tistory.com/40
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int T=sc.nextInt();
for(int i=0;i<T;i++) {
int A=sc.nextInt();
int B=sc.nextInt();
int gcd= gcd(A, B);
System.out.println((A*B)/gcd);
}
}
public static int gcd(int a, int b) {
if(b==0) return a;
else return gcd(b, a%b);
}
}
'알고리즘연습 > 백준' 카테고리의 다른 글
[백준] 정수론및조합론 - 3036번 링 java 자바 (0) | 2021.07.19 |
---|---|
[백준] 정수론및조합론 - 2981번 검문 java 자바 (0) | 2021.07.17 |
[백준] 정수론 및 조합론 - 2609번 최대공약수와 최소공배수 (0) | 2021.07.13 |
[백준] 정수론 및 조합론 - 1037번 약수 java 자바 (0) | 2021.07.11 |
[백준] 그리디알고리즘 - 13305번 주유소 java 자바 (0) | 2021.07.09 |