본문 바로가기
코테/백준

[백준] 1978 소수찾기 스위프트

by 리드맥 2022. 1. 5.

코드:

var sosu:Set<Int> = []

for i in 1...1000{
    sosu.insert(i)
}

var number = 2
var count = 2
while true {
    var one = number * count
    sosu.remove(one)

    count = count + 1

    if one > 1000 {
        number = number + 1
        count = 2
    }
    if number > 500 {
        break
    }
}
sosu.remove(1)
//print(sosu)

let input = Int(readLine()!)!
let arr = readLine()!.split(separator: " ").map{ Int($0)!}
var result = 0

    for i in 0...arr.count - 1{
    if sosu.contains(arr[i]){
        result = result + 1
    }
}

print(result)
*****************************************************************
let input = Int(readLine()!)!
let arr = readLine()!.split(separator: " ").map{ Int($0)!}
var result = 0

    for i in arr {
        var tr = false
        if i == 1 {
            continue
        }
        if i == 2 {
            result = result + 1
            continue
        }
        for j in 2...i-1 {
            if i % j == 0 {
                tr = true
            }
        }
        if tr == false {
            result = result + 1
        }


}

print(result)

위코드는 1000을 set에 넣고 2 부터 500까지 곱해지는 모든 수를 뺀거

아래코드는 하나의 값 -1 을 해서 2부터 나눠지는것을 확인하는것


결과:

 

댓글