문제📖
풀이🙏
- 첫째 줄에 링의 개수 N이 주어진다.
- 다음 줄에는 링의 반지름이 상근이가바닥에 놓은 순서대로 주어진다.
- 출력은 총 N-1줄을 해야 한다.
- 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.
-> 최소공배수, 최소공약수를 이용해 분수를 구하였다.
코드💻
import sys
def gcd(x,y):
while y:
x, y = y, x%y
return x
def lcm(x,y):
return x*y // gcd(x,y)
def solve(num1, num2):
print('%d/%d' %(lcm(num1,num2)//num2, lcm(num1,num2)//num1))
N = int(sys.stdin.readline())
cricle_list = list(map(int, sys.stdin.readline().split()))
for i in range(N-1):
solve(cricle_list[0],cricle_list[i+1])
결과😎
출처 && 깃허브📝
https://www.acmicpc.net/problem/3036
github