์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Python

๋ฐฑ์ค€ (boj) ํŒŒ์ด์ฌ - 9613๋ฒˆ : GCD ํ•ฉ

  • -

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/9613

 

9613๋ฒˆ: GCD ํ•ฉ

๋ฌธ์ œ ์–‘์˜ ์ •์ˆ˜ n๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์Œ์˜ GCD์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ t (1 ≤ t ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ n (1 < n ≤ 100)๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๋‹ค์Œ์—๋Š” n๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆ˜๋Š” 1,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์Œ์˜ GCD์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ

www.acmicpc.net

 

 

GCD ๊ฐœ๋… : https://infinitt.tistory.com/232

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ (1) - ์ˆ˜ํ•™ (sw ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ์ค€๋น„)

codepuls์˜ sw์—ญ๋Ÿ‰ํ…Œ์ŠคํŠธ_๊ธฐ์ดˆํŒŒํŠธ๋ฅผ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜ํ•™๊ณผ ๊ด€๋ จํ•œ ๊ธฐ์ดˆ๋ฌธ์ œ์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค. ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜ ์†Œ์ˆ˜ (prime number) 1. ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ (Modular A..

infinitt.tistory.com

 

 

ํŒŒ์ด์ฌ(Python) ์ฝ”๋“œ
n = int(input())


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


for _ in range(n):
    arr = list(map(int,input().split()))
    k = arr.pop(0)
    sum = 0
    for i in range(k):
        for j in range(k):
            if i<j :
                sum += gcd(arr[i],arr[j])
    print(sum)
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.