https://www.acmicpc.net/problem/9613
[난이도] Silver3
[유형] 수학
[풀이]
최대공약수 구하기
답이 int 범위를 넘어갈 수 있으므로 Long으로
import java.io.BufferedReader
import java.io.InputStreamReader
fun gcd(n:Int,m:Int):Int{
var a=n
var b=m
if(a>b) a=b.also{b=a}
while(a>0){
var c = b%a
b=a
a=c
}
return b
}
fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
var t = readLine().toInt()
val arr = IntArray(101)
while(t-->0){
val ip=readLine().split(' ')
val N=ip[0].toInt()
for(i in 1..N) arr[i-1]=ip[i].toInt()
var ans:Long=0
for(i in 0 until N-1){
for(j in i+1 until N){
ans+=gcd(arr[i],arr[j])
}
}
println(ans)
}
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver3/9613.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Bronze2] 1373 : 2진수 8진수 (Kotlin) (0) | 2021.05.18 |
---|---|
[BOJ/백준][Silver1] 17087 : 숨바꼭질 6 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver2] 2004 : 조합 0의 개수 (Kotlin)) (0) | 2021.05.18 |
[BOJ/백준][Silver3] 1676 : 팩토리얼 0의 개수 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver1] 6588 : 골드바흐의 추측 (Kotlin) (0) | 2021.05.18 |