코테/백준

[백준] 9020 골드바흐의 추측 스위프트

리드맥 2022. 1. 6. 11:16

var sosu:Set<Int> = []
for i in 2...10000{
sosu.insert(i)
}
var number = 2
var count = 2
while true {
let one = number * count
sosu.remove(one)
count = count + 1

    if one > 10000 {
number = number + 1
count = 2
}
if number > 5000 {
break
}
}


let input = Int(readLine()!)!
for _ in 1...input{
    let input2 = Int(readLine()!)!
    var arr = [Int]()
    var arr2 = [String]()
    
    for i in 2...input2 {
        if sosu.contains(i) {
            arr.append(i)
        }
    }
    
    if arr.contains(input2 / 2){
        print("\(input2 / 2) \(input2 / 2)")
    }else {
        for j in 0...arr.count-1 {
            for k in j...arr.count - 1 {
                if arr[j] + arr[k] == input2 {
                    arr2.append("\(arr[j]) \(arr[k])")
                }
            }
        }
        print(arr2.last!)
    }

}