정수 B
에 0보다 큰 정수인 N
을 곱해 정수 A
를 만들 수 있다면, A
는 B
의 배수이다.
예:
다른 예:
당신은 두 수에 대하여 최소공배수를 구하는 프로그램을 작성 하는 것이 목표이다.
한 줄에 두 정수 A
와 B
가 공백으로 분리되어 주어진다.
50%의 입력 중 A
와 B
는 1000(10^3)보다 작다. 다른 50%의 입력은 1000보다 크고 100000000(10^8)보다 작다.
추가: 큰 수 입력에 대하여 변수를 64비트 정수로 선언하시오. C/C++에서는 long long int를 사용하고, Java에서는 long
을 사용하시오.
A
와 B
의 최소공배수를 한 줄에 출력한다.
1 1
1
3 5
15
1 123
123
121 199
24079
Olympiad > All-Ireland Programming Olympiad > 2016 AIPO National Finals 2번
-문제를 번역한 사람: n_agi
-어색한 표현을 찾은 사람: win198978
import java.io.*;
public class Code1934 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
String[] nums=br.readLine().split(" ");
long A=Long.valueOf(nums[0]);
long B=Long.valueOf(nums[1]);
long small=0;
long divisor=0;
small=gcd(A,B);
divisor=A/small;
divisor*=B/small;
divisor*=small;
String answer=String.valueOf(divisor);
bw.write(answer+"\n");
br.close();
bw.flush();
bw.close();
}
public static long gcd(long a,long b){
if(a%b==0){
return b;
}
return gcd(b,a%b);
}
}
1934번이랑 비슷하게 풀면 된다!