- 문제
//시간 제한: 1초, 메모리 제한: 128MB
- 입력
첫째 줄에 링의 개수 N이 주어진다. (3 ≤ N ≤ 100)
다음 줄에는 링의 반지름이 상근이가 바닥에 놓은 순서대로 주어진다. 반지름은 1과 1000를 포함하는 사이의 자연수이다.
- 출력
출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.
#include<iostream>
#include<vector>
using namespace std;
int n, first, r, g;
int GCD(int n, int m) {
if (m == 0) return n;
return GCD(m, n % m);
}
int main() {
cin >> n;
cin >> first;
n--;
while (n--) {
cin >> r;
g = GCD(first, r);
cout << first / g << '/' << r / g << '\n';
}
}
풀이