BOJ/백준-3036-python

cosmos·2021년 6월 1일
2
post-thumbnail

문제📖

풀이🙏

  • 첫째 줄에 링의 개수 N이 주어진다.
  • 다음 줄에는 링의 반지름이 상근이가바닥에 놓은 순서대로 주어진다.
  • 출력은 총 N-1줄을 해야 한다.
  • 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.
    -> 최소공배수, 최소공약수를 이용해 분수를 구하였다.

코드💻

# boj, 3036 : 링, python3
# 정수론 및 조합론
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

0개의 댓글