Skip to content

Instantly share code, notes, and snippets.

@kot331107
Created June 6, 2022 11:09
Show Gist options
  • Save kot331107/df0fc79508262be5fcb250ec80c5758f to your computer and use it in GitHub Desktop.
Save kot331107/df0fc79508262be5fcb250ec80c5758f to your computer and use it in GitHub Desktop.
gets first N prime numbers
//
// main.swift
// swift challenges
//
// Created by Filipp Mikheev on 06.06.22.
//
import Foundation
func getFirstPrimeNumbers(lastNumber: Int) -> [Int] {
var primeNumbers = Array([2])
var filteredNumbers = Set<Int>()
for number in stride(from: 3, through: lastNumber, by: 2) {
if filteredNumbers.contains(number) { continue }
primeNumbers.append(number)
for numberToTest in stride(from: number + 2, through: lastNumber, by: 2) {
if numberToTest % number == 0 {
filteredNumbers.insert(numberToTest)
}
}
}
return primeNumbers
}
// Output: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
print(getFirstPrimeNumbers(lastNumber: 52))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment