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

1 Answer

0 votes
import kotlin.math.sqrt

fun isPrime(n: Int): Boolean {
    if (n < 2) return false
    if (n % 2 == 0) return n == 2

    val limit = sqrt(n.toDouble()).toInt()
    for (i in 3..limit step 2) {
        if (n % i == 0) return false
    }
    
    return true
}

fun hasUniqueDigits(n: Int): Boolean {
    val digits = n.toString()
    
    return digits.toSet().size == digits.length
}

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




/*
run:

First 4-digit prime with all unique digits: 1039

*/

 



answered 8 hours ago by avibootz
...