자료구조 & 알고리즘/BOJ
[java] 백준 1850번 문제(최대 공약수 구하기)
seungwook_TIL
2025. 4. 11. 11:14
원본 링크 : https://www.acmicpc.net/problem/1850
문제설명
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Boj_1850
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
for(long i = 0; i < gcd(a, b); ++i) sb.append("1");
System.out.print(sb);
}
static long gcd(long a, long b)
{
if(b == 0) return a;
else return gcd(b, a % b);
}
}
설명
- 유클리드 호제법을 사용한다.
- a와 b의 최대 공약수 만큼 1을 반복적으로 출력하면 정답이 된다.