[Swift] 에라토스테네스의 체를 사용한 소수 찾기 / 소수 찾기 / 소수 / Prime number / Prime

2022. 5. 7. 11:32🐣/Algorithm

1. 해당 숫자까지 모든 숫자를 다 넣어 배열을 초기화 합니다.
2. 해당 숫자까지 배수가 있는 경우 0으로 삭제시켜줍니다.
3. 남아있는 숫자들이 소수

var num = 100000 // 원하는 숫자의 범위
var numArray = Array(repeating: 0, count: num + 1)

for i in 2...num {
    numArray[i] = i
}

for i in 2...num {
    if numArray[i] == 0 {
        continue
    }
    
    for j in stride(from: i+i, through: num, by: i) {
        numArray[j] = 0;
    }
}

for i in 2...num {
    if numArray[i] != 0 {
        print(numArray[i], terminator: " ")
    }
}