728x90
반응형
https://www.acmicpc.net/problem/14490
14490번: 백대열
n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)
www.acmicpc.net
#include <iostream>
#include <string>
using namespace std;
int gcd(int a, int b){
if(b == 0) return a;
else return gcd(b, a % b);
}
int main() {
string s;
cin >> s;
int idx = s.find(":");
int n = stoi(s.substr(0, idx));
int m = stoi(s.substr(idx + 1, -1));
int gcf = gcd(n, m);
cout << n / gcf << ":" << m / gcf;
return 0;
}
유클리드 호제법으로 n과 m의 최대공약수를 구하고 n과 m을 각각 최대공약수로 나누어 약분한다.
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 6068번 시간 관리하기 (C++) (0) | 2022.02.11 |
---|---|
[BOJ] 1263번 시간 관리 (C++) (0) | 2022.02.10 |
[BOJ] 1302번 베스트셀러 (C++) (0) | 2022.02.06 |
[BOJ] 7656번 만능 오라클 (C++) (0) | 2022.02.05 |
[BOJ] 4358번 생태학 (C++) (0) | 2022.02.04 |