How to find the first 4-digit prime number where all digits are unique in Swift

1 Answer

0 votes
import Foundation

func isPrime(_ n: Int) -> Bool {
    if n < 2 { return false }
    if n % 2 == 0 { return n == 2 }

    let limit = Int(sqrt(Double(n)))
    var i = 3
    while i <= limit {
        if n % i == 0 { return false }
        i += 2
    }
    
    return true
}

func hasUniqueDigits(_ n: Int) -> Bool {
    let digits = String(n)
    
    return Set(digits).count == digits.count
}

func main() {
    for num in 1000...9999 {
        if isPrime(num) && hasUniqueDigits(num) {
            print("First 4-digit prime with all unique digits: \(num)")
            return
        }
    }
    print("No such number found.")
}

main()



/*
run:

First 4-digit prime with all unique digits: 1039

*/

 



answered 8 hours ago by avibootz
...