728x90
코드 힌트
- Buffered 사용하여 받고 출력하기
- BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다.
- BufferedReader는 입력을 받고, BufferedWriter는 출력을 담당합니다.
- (Java) 숫자로 변환할 때 long타입으로 받아야합니다.
- 최대공약수 구하기
- 유클리드 호제법을 사용하여 두 수의 최대공약수를 구합니다.
- 유클리드 호제법은 반복적으로 나머지를 구하여 최대공약수를 찾는 방법입니다.
- 최대공약수 구하는 방법은 여기를 클릭하세요
- "1"를 최대공약수 만큼 출력시키기
- 구한 최대공약수의 값만큼 '1'을 출력합니다.
- 예를 들어, 최대공약수가 5이면 '1'을 5번 출력합니다.
정답은 더보기 클릭
더보기
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
// BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 입력된 두 수를 공백으로 구분하여 배열에 저장합니다.
String[] arr = br.readLine().split(" ");
// 문자열 배열의 첫 번째와 두 번째 요소를 long 타입으로 변환하여 변수 n과 m에 저장합니다.
long n = Long.parseLong(arr[0]);
long m = Long.parseLong(arr[1]);
// 유클리드 호제법을 사용하여 최대공약수를 구합니다.
while (m != 0) {
long tmp = n % m; // n을 m으로 나눈 나머지를 tmp에 저장합니다.
n = m; // n을 m으로 업데이트합니다.
m = tmp; // m을 tmp로 업데이트합니다.
}
// 최대공약수의 값이 1일 때까지 "1"을 출력합니다.
while(n > 0) {
bw.write("1");
n--;
}
// BufferedWriter를 비우고 닫습니다.
bw.flush();
bw.close();
}
}
728x90
'백준' 카테고리의 다른 글
[백준] 그림 1926번 (0) | 2024.07.31 |
---|---|
[백준] 수 찾기 1920번 (0) | 2024.07.30 |
[백준] 피보나치 함수 1003번 (0) | 2024.07.27 |
[백준] 커트라인 25305번 (0) | 2024.07.27 |
[백준] 대표값2 2587번 (0) | 2024.07.27 |