File tree 2 files changed +56
-2
lines changed 2 files changed +56
-2
lines changed Original file line number Diff line number Diff line change
1
+ import sys
2
+
3
+ def input (): return sys .stdin .readline ().rstrip ()
4
+
5
+ def GCD (a , b ):
6
+ while b :
7
+ a , b = b , a % b
8
+ return a
9
+
10
+ for _ in range (int (input ())):
11
+
12
+ nums = list (map (int , input ().split ()[1 :]))
13
+
14
+ nums_count = len (nums )
15
+
16
+ answer = 0
17
+
18
+ # combination
19
+ for i in range (nums_count ):
20
+ for j in range (i + 1 , nums_count ):
21
+ answer += GCD (nums [i ], nums [j ])
22
+
23
+ print (answer )
Original file line number Diff line number Diff line change 2
2
file : " 9613.py"
3
3
name : " GCD 합"
4
4
src : " https://www.acmicpc.net/problem/9613"
5
- tags :
5
+ tags :
6
6
- 유클리드 호제법
7
7
- 수학
8
8
- 정수론
9
- done : false
9
+ done : true
10
10
draft : false
11
11
level : 8
12
12
difficulty : " Silver III"
13
13
date : 2021-11-02
14
14
---
15
+
16
+ # GCD 합
17
+
18
+ ## 정답 코드
19
+
20
+ ``` python
21
+ import sys
22
+
23
+ def input (): return sys.stdin.readline().rstrip()
24
+
25
+ def GCD (a , b ):
26
+ while b:
27
+ a, b = b, a % b
28
+ return a
29
+
30
+ for _ in range (int (input ())):
31
+
32
+ # 가장 앞 원소는 생략한다.
33
+ nums = list (map (int , input ().split()[1 :]))
34
+
35
+ nums_count = len (nums)
36
+
37
+ answer = 0
38
+
39
+ # combination
40
+ for i in range (nums_count):
41
+ for j in range (i+ 1 , nums_count):
42
+ answer += GCD(nums[i], nums[j])
43
+
44
+ print (answer)
45
+ ```
You can’t perform that action at this time.
0 commit comments