2019.02.19) 백준 3036번 풀이 (PyPy3)

2019. 2. 19. 23:37프로그래밍(주력)/백준 문제풀이

잘 생각해보면 굳이 최소공배수 구할 필요도 없이 순서 바꿔서 최대공약수로 나누면 답이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
= int(input())
 
inp = list(map(int, input().split(' ')))
 
= inp[0]
 
for i in range(1, c):
    a = m
    b = inp[i]
    mi = b
    # 최대공약수 구하기
    while a % b != 0:
        tmp = b
        b = a % b
        a = tmp
    else:
        mi = b
 
    # 첫번째 톱니//최대공약수, 구할 톱니//최대공약수
    print(str(m // mi)+'/'+str(inp[i]//mi))
 
 
 
cs