반응형
https://www.acmicpc.net/problem/2981
import Foundation
func gcd(_ a: Int, _ b: Int) -> Int{
if (b == 0) { return a }
return gcd(b, a % b)
}
let n = Int(readLine()!)!
var l:[Int] = []
var minv = 1000000000
for _ in 1...n {
let num = Int(readLine()!)!
l.append(num)
if num < minv {
minv = num
}
}
var str = ""
var v = l[0]-minv
for i in 1...l.count-1 {
if l[i] > minv {
v = gcd(v, l[i]-minv)
}
}
if v > 3 {
for i in 2...v/2 {
if v%i == 0 {
if str == "" {
str += "\(i)"
} else {
str += " \(i)"
}
}
}
}
if str == "" {
str += "\(v)"
} else {
str += " \(v)"
}
print(str)
반응형
'# 02 > Swift - CTP' 카테고리의 다른 글
[Swift] 백준! 2061번 - 좋은 암호 (0) | 2023.01.16 |
---|---|
[Swift] 백준! 2447번 - 별 찍기 - 10 (0) | 2023.01.16 |
[Swift] 코딩테스트 연습! Lv1. 괄호 변환개인정보 수집 유효기간 (0) | 2023.01.10 |
[Swift] 백준! 1837번 - 암호제작 (0) | 2023.01.04 |
[Swift] 코딩테스트 연습! Lv2. [3차] 방금그곡 (0) | 2022.12.28 |