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
*/