import scala.util.Random
object RandomNDigits {
/**
* Generate an n-digit random number.
* For n=1, range is 0–9; for n>1, ensures no leading zeros.
*/
def generateNDigitNumber(n: Int): Long = {
if (n < 1) {
throw new IllegalArgumentException("n must be a positive integer (>= 1).")
}
val lowerBound: Long = if (n > 1) math.pow(10, n - 1).toLong else 0L
val upperBound: Long = math.pow(10, n).toLong - 1
val range = upperBound - lowerBound + 1
val r = Random.nextLong(range) + lowerBound
r
}
def main(args: Array[String]): Unit = {
println(generateNDigitNumber(1))
println(generateNDigitNumber(4))
println(generateNDigitNumber(10))
}
}
/*
run:
7
6000
5553702139
*/