본문 바로가기

알고리즘/백준

[Python] 백준 파이썬 3036 링

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

 

3036번: 링

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

www.acmicpc.net

# 백준 3036 링
import math

n = int(input())
ring_r = list(map(int, input().split()))

ring_1 = ring_r[0]

for i in range(1, len(ring_r)):

  r_gcd = math.gcd(ring_1, ring_r[i])
  
  A = ring_1 // r_gcd
  B = ring_r[i] // r_gcd
  
  print(f'{A}/{B}')

분수를 약분 한다는 것은 결국 분모와 분자의 최대 공약수로 각각을 나눠준다는 말입니다.