본문 바로가기
알고리즘/수학

[백준][Python] 9613번 GCD 합

by 임짠짠 2022. 3. 17.
반응형
 

9613번: GCD 합

첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진

www.acmicpc.net

 

코드

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부터 시작해야 된다. 

반응형

댓글