본문 바로가기

백준

이런저런 문제들 #1850: 최대공배수 [JAVA]

https://www.acmicpc.net/problem/1850

 

1850번: 최대공약수

모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A

www.acmicpc.net

 

 


 

 

문제 접근

 

 

 

 

예제를 주의깊게 보자..!

왜 하필 저 수를 입력으로 줬을까

 

 

 

 

 

 

 

 

 

 

 

코드

 

 

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		StringTokenizer st = new StringTokenizer(br.readLine());

		long a1 = Long.parseLong(st.nextToken());
		long b1 = Long.parseLong(st.nextToken());

		long abGcd = gcd(a1, b1);

		StringBuilder sb = new StringBuilder();

		for (int i = 0; i < abGcd; i++) {
			sb.append(1);
		}

		System.out.println(sb);

	}

	static long gcd(long a, long b) {

		while (b != 0) {
			long r = a % b;
			a = b;
			b = r;
		}
		return a;
	}
}