본문 바로가기

Study/algorithms

[백준] 3036. 링

반응형

유클리드 호제법을 써서 최대공약수를 이용해서 풀었다.

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

 

#include <cstdio>


int GCD(int a, int b) {
    return a % b ? GCD(b, a%b) : b;
}

int main() {
    int n;
    scanf("%d", &n);
    int arr[102];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    for (int i = 1; i < n; i++) {
        int gcd = GCD(arr[0], arr[i]);
        printf("%d/%d\n", arr[0]/gcd, arr[i]/gcd);
    }
}

 

나중에 찾아보니 유클리드 호제법은 이렇게 쓰는게 더 좋은것 같더라

int gcd(int a, int b)
{
	return b ? gcd(b, a%b) : a;
}

 

'Study > algorithms' 카테고리의 다른 글

[백준] 11051. 이항계수2  (0) 2020.02.15
[백준] 11050 이항계수1  (0) 2020.02.15
[백준] 1541. 잃어버린 괄호  (0) 2020.02.11
[백준] 2565 전깃줄  (0) 2020.02.08
[백준] 11054. 가장긴 바이토닉 부분수열 C++  (0) 2020.02.06