How to generate an N-digit integer random number in Kotlin

1 Answer

0 votes
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

*/

 



answered Nov 27, 2025 by avibootz
...