백준|9613번|GCD 합

README·2022년 7월 31일
0

파이썬 PS풀이

목록 보기
77/136

문제설명
수열을 입력받고 그 수열에서 숫자 2개를 뽑아 최대공약수를 구하고 그 합을 구하는 문제입니다.

작동 순서
1. 입력받을 테스트 케이스의 개수를 입력받습니다.
2. 수열의 길이와 숫자들을 입력받습니다.
3. 수열에서 숫자를 2개씩 뽑아서 최대공약수를 구하고 gcdSum에 더해줍니다.
4. gcdSum을 출력합니다.

소스코드

import sys


def getGCD(num1, num2):
    while num2 != 0:
        r = num1 % num2
        num1 = num2
        num2 = r
    return num1


n = int(sys.stdin.readline())
for i in range(n):
    gcdSum = 0
    inputNum = list(map(int, sys.stdin.readline().split()))
    for j in range(1, inputNum[0]+1):
        for k in range(j+1, inputNum[0]+1):
            gcdSum += getGCD(inputNum[j], inputNum[k])
    print(gcdSum)
profile
INTP 개발자 지망생

0개의 댓글