원본 : www.acmicpc.net/problem/3036
3036번: 링
출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class Main {
public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
public static BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws Exception {
int n = Integer.parseInt(reader.readLine());
int r[] = Arrays.stream(reader.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
for (int i = 1; i < n; i++) {
int gcd = gcd(r[0], r[i]);
writer.write((r[0] / gcd) + "/" + (r[i] / gcd) + "\n");
}
writer.flush();
}
public static int gcd(int a, int b) {
int r = a % b;
if (r == 0) {
return b;
} else {
return gcd(b, r);
}
}
}
댓글 영역