알고리즘/문제 풀이

14490번: 백대열

Themion 2022. 1. 11. 12:15

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

 

14490번: 백대열

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)

www.acmicpc.net

n과 m을 형식에 맞게 입력받아 최대공약수 k를 구한 뒤, n / k와 m / k를 형식에 맞게 출력한다.

#include <cstdio>

// a와 b의 최대공약수를 반환
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }

int main() {
    // n, m: 약분할 두 숫자, k: n과 m의 최대공약수
    int n, m, k;
    // n과 m을 입력받은 뒤 k에 n과 m의 최대공약수를 저장
    scanf("%d:%d", &n, &m);
    k = gcd(n, m);
    // n과 m을 k로 나눠 최대한으로 약분한 꼴을 출력
    printf("%d:%d\n", n / k, m / k);
    return 0;
}

'알고리즘 > 문제 풀이' 카테고리의 다른 글

14502번: 연구소  (0) 2022.01.11
14500번: 테트로미노  (0) 2022.01.11
14425번: 문자열 집합  (0) 2022.01.11
14400번: 편의점 2  (0) 2022.01.10
13594번: 숨바꼭질 3  (0) 2022.01.10