본문 바로가기
Data Science/알고리즘 공부

[파이썬][백준] 1012 GCD

by titaniumm 2020. 3. 26.

[핵심]

이전의 문제와는 달리, 뉴클리드 호제법을 사용하였다.

기존의 FOR문으로 모든경우의 수를 카운팅 하는것보다 훨씬 메모리와 시간을 덜 잡을것같다

case = int(input())

def gcd(x, y):
    while y != 0:
        r = x % y
        x = y
        y = r
    return x

for i in range(case):
    total = 0
    num = list(map(int,input().split()))
    for i in range(1,len(num)-1):
        for j in range(i+1,len(num)):
            total += gcd(num[i],num[j])
    print(total)


댓글