난이도

코드 구현 자체는 쉬웠다. 하지만 규칙을 직관으로 파악해야 하는 것 같다. 틀릴지라도 시도는 해 봐야 하는 것 같다.



문제

최대공약수 구하기(백준: 1850번)

image



풀이

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        long a = sc.nextLong();
        long b = sc.nextLong();

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        for (int i = 0; i < gcd(a, b); i++) {
            bw.write("1");
        }
        bw.close();
        sc.close();
    }

    static long gcd(long big, long small) {
        if (small == 0)
            return big;

        return gcd(small, big % small);
    }
}