Algorithm/Algorithm 문제

백준_1850 최대공약수 (유클리드 호제법)

kjyyjk 2024. 2. 7. 13:12

while문에 temp--하거나 아래 코드처럼 for문으로 하거나

 

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

public class BJ_1850_최대공약수 {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        long a = Long.parseLong(st.nextToken());
        long b = Long.parseLong(st.nextToken());

        long temp = gcd(a, b);

        StringBuilder result = new StringBuilder();
        for (long i=0; i<temp; i++) {
            result.append('1');
        }

        System.out.println(result);
    }

    static long gcd(long a, long b) {
        if (b==0) {
            return a;
        }

        return gcd(b, a%b);
    }

}

 

 

1850번: 최대공약수

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

www.acmicpc.net