끄적끄적 코딩
article thumbnail
Published 2019. 9. 3. 16:42
[C++] 백준 3036번 링 알고리즘

첫번째 수를 n번째 수로 나누었을 때 기약분수 형태로 나타내는 문제입니다.

첫번째 수와 n번째 수의 최대공약수를 구해서
값을 각각 최대공약수로 나눠서 출력했습니다.

 

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

int GCD(int a, int b)
{
	if (a % b == 0)
	{
		return b;
	}

	return GCD(b, a % b);
}

int main(int argc, char *argv[])
{
	int n;
	int div;
	int arr[110];

	cin >> n;

	memset(arr, 0, sizeof(arr));

	for (int i = 0; i < n; ++i) {
		cin >> arr[i];
	}

	for (int i = 1; i < n; ++i) {
		div = GCD(arr[0], arr[i]);
		cout << arr[0] / div << "/" << arr[i] / div << endl;
	}

	return 0;
}

검색 태그