본문 바로가기
Algorithms

백준 3036. 링

by Brian Go 2022. 6. 10.

https://www.acmicpc.net/problem/3036

 

3036번: 링

출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.

www.acmicpc.net

원의 둘레는 2*pi*반지름 r로 결정되는데, 이로부터 결국 서로 다른 두 원의 둘레의 비는 반지름의 비율과 같음을 알 수 있다.

그 비율을 기약분수로 나타내면 되므로, 각 반지름을 두 수의 최대공약수로 나눠주면 기약분수를 구할 수 있다.

import math

n = int(input())

lst = list(map(int, input().split()))

r = lst[0]
for i in range(1, n):
	print(str(r//math.gcd(r, lst[i]))+'/'+str(lst[i]//math.gcd(r, lst[i])))

'Algorithms' 카테고리의 다른 글

백준 11051. 이항 계수 2  (0) 2022.06.11
백준 11050. 이항 계수 1  (0) 2022.06.10
백준 1934. 최소공배수  (0) 2022.06.09
백준 2609. 최대공약수와 최소공배수  (0) 2022.06.09
백준 1037. 약수  (0) 2022.06.09

댓글