반응형
코드
import sys
import math
n = int(input())
for _ in range(n):
n_list = list(map(int,sys.stdin.readline().split()))
sum = 0
for i in range(1,len(n_list)):
for j in range(i+1,len(n_list)):
sum += math.gcd(n_list[i],n_list[j])
print(sum)
설명
math 모듈을 사용해서 두 수의 최대공약수를 바로 구했다.
처음에 문제를 제대로 안 읽어서 리스트의 첫 번째 수는 테스트케이스의 수임을 뒤늦게 알았다. 그래서 for문에서 i의 값이 1부터 시작해야 된다.
반응형
'알고리즘 > 수학' 카테고리의 다른 글
[백준][Python] 1934번 최소공배수 (0) | 2022.03.21 |
---|---|
[백준][Python] 1110번 더하기 사이클 (0) | 2022.03.18 |
[백준][Python] 5347번 LCM (0) | 2022.03.16 |
[백준][Python] 2960번 에라토스테네스의 체 (0) | 2022.03.15 |
[백준][Python] 11653번 소인수분해 (0) | 2022.03.14 |
댓글