백준 문제풀이/수학

[백준] 9613 GCD합(최대공약수) -phyton

peach_h 2022. 11. 10. 16:25

https://www.acmicpc.net/problem/9613

9613번: GCD 합

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

www.acmicpc.net

num = int(input())

def gcd(a,b):
    if b==0:
        return a
    else: 
        return gcd(b,a%b)

for i in range(num):
    nums =  list(map(int,input().split()))
    total = 0
    for j in range(1,len(nums)):
        for k in range(j+1, len(nums)):

            total += gcd(nums[j],nums[k])
    print(total)


난 아직 for문에 대한 이해가 모자르기 때문에
print를 찍어가면서 이해해보았다.

num = int(input())

def gcd(a,b):
    if b==0:
        return a
    else: 
        return gcd(b,a%b)

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

for문은 정말 쉽지 않군아 . .