Algorithm/Baekjoon
[๋ฐฑ์ค] (Swift) 9613๋ฒ - GCDํฉ
๊ฐ์ ๐ฅ
2022. 2. 20. 12:40
๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/9613
9613๋ฒ: GCD ํฉ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ t (1 ≤ t ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ์์ ๊ฐ์ n (1 < n ≤ 100)๊ฐ ์ฃผ์ด์ง๊ณ , ๋ค์์๋ n๊ฐ์ ์๊ฐ ์ฃผ์ด์ง
www.acmicpc.net
๋ด๊ฐ ํผ ํ์ด
- ์ฌ๊ท GCD ํจ์ ์์ฑ (๊ธฐ์ตํ์!) -> ์ต๋๊ณต์ฝ์๊ตฌํ ๋ ์ฌ์ฉ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ)
- input์ ๋ด๊ฒจ์๋ ์๋ค์ GCD๋ฅผ ๊ตฌํด์ฃผ๊ณ ๋ํด์ ์ถ๋ ฅํด์ค
let n = Int(readLine()!)!
func gcd(_ m: Int, _ n: Int) -> Int {
if n == 0 {
return m
} else {
return gcd(n, m%n)
}
}
for _ in 0..<n {
let input = readLine()!.split(separator: " ").map { Int(String($0))! }
var result: [Int] = []
for i in 1..<input.count - 1 {
for j in i+1..<input.count {
result.append(gcd(input[i], input[j]))
}
}
print(result.reduce(0, +))
}
๋ฐ์ํ