반응형
문제
https://www.acmicpc.net/problem/3036
첫번째 원과 나머지원들의 최대공약수를 구해 각각나누어 주어 출력하면 된다.
최대공약수는 앞전에 사용했던 유클리드 호제법으로 구하였다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import sys N=int(sys.stdin.readline()) ring_list=list(map(int,sys.stdin.readline().split())) #최대공약수를 구해서 비교해본다. def gcd(a,b): if a > b: a, b = b, a g = b r = a % b while r != 0: # 유클리드 호제법 tmp = r r = g % r g = tmp return g for i in range(1,len(ring_list)): g=gcd(ring_list[0],ring_list[i]) print(ring_list[0]//g,end="/") print(ring_list[i]//g) | cs |
반응형
'알고리즘(python) > 수학' 카테고리의 다른 글
[Python]수학3 백준 11051 (0) | 2020.01.22 |
---|---|
[Python]수학3 백준 11050 (0) | 2020.01.21 |
[Python]수학3 백준 2981 (0) | 2020.01.21 |
[Python]수학3 백준 2609 (0) | 2020.01.20 |
[Python]수학3 백준 11653 (0) | 2020.01.20 |
최근댓글