https://www.acmicpc.net/problem/2581
소수는 2아니면 홀수에서 나옵니다. 홀수값일때 홀수를 나머지연산 해줘서 나머지가 0이나오면(예를들어 9%3 = 0입니다.) 소수가 아니므로 stride를 이용해서 홀수값만 연산해주고, 소수이면 현재 for문을 벗어나도록 하였습니다.
let input1 = Int(readLine()!)!
let input2 = Int(readLine()!)!
var array = [Int]()
for i in input1...input2 {
if i%2 != 0 { // 홀수일때
for j in stride(from: 3, through: i, by: 2) {
if i==j {
array.append(i)
} else if i%j == 0 { //소수 아님
break
}
}
} else if i==2 { //2 일때
array.append(i)
}
}
if array.isEmpty {
print(-1)
} else {
print(array.reduce(0, {$0+$1}))
print(array.min()!)
}