import kotlin.math.pow
import kotlin.random.Random
/**
* Generate an n-digit random number.
* For n=1, range is 0–9; for n>1, ensures no leading zeros.
*/
fun generateNDigitNumber(n: Int): Long {
require(n >= 1) { "n must be a positive integer (>= 1)." }
val lowerBound: Long = if (n > 1) 10.0.pow(n - 1).toLong() else 0L
val upperBound: Long = 10.0.pow(n).toLong() - 1
return Random.nextLong(lowerBound, upperBound + 1)
}
fun main() {
println(generateNDigitNumber(1))
println(generateNDigitNumber(4))
println(generateNDigitNumber(10))
}
/*
run:
6
1634
6581299597
*/