function generateNDigitNumber(n: number): number {
if (n < 1) {
throw new Error("n must be a positive integer (>= 1).");
}
// For n=1, range is 0–9; for n>1, ensure no leading zeros
const lowerBound: number = n > 1 ? Math.pow(10, n - 1) : 0;
const upperBound: number = Math.pow(10, n) - 1;
// Math.random() returns [0,1), scale to range
const range: number = upperBound - lowerBound + 1;
const r: number = Math.floor(Math.random() * range) + lowerBound;
return r;
}
console.log(generateNDigitNumber(1));
console.log(generateNDigitNumber(4));
console.log(generateNDigitNumber(10));
/*
run:
7
7278
5786040681
*/