본문 바로가기

Algorithm/BAEKJOON

[BOJ] 14490번 백대열 (C++)

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