nth prime number in swift

后端 未结 3 1290
难免孤独
难免孤独 2020-12-22 08:33

I\'m trying to find the nth prime number in xCode\'s Swift, but I can\'t seem to get this working, it just gives a list of prime numbers.

func nthPrimeNumber         


        
3条回答
  •  春和景丽
    2020-12-22 09:05

    extension FixedWidthInteger {
        var isPrime: Bool {
            if self <  2 { return false }
            let squareRoot = Self(Double(self).squareRoot())
            if squareRoot * squareRoot == self { return false }
            for i in 2..

    let twoDigitsPrimeNumbers = (1..<100).filter { $0.isPrime }
    print(twoDigitsPrimeNumbers)  // [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
    

    func nthPrime(nth: Int)-> Int {
        var primeCounter = 0
        var number = 2
        while true {
            if number.isPrime {
                primeCounter += 1
                if nth == primeCounter { return number }
            }
            number += 1
        }
    }
    nthPrime(1000)   // 7,919
    

提交回复
热议问题