import random
def generate_n_digit_number(n):
"""
Generate a random integer with exactly n digits.
Args:
n (int): Number of digits (must be >= 1)
Returns:
int: Random integer with n digits.
Raises:
ValueError: If n is less than 1.
"""
if not isinstance(n, int) or n < 1:
raise ValueError("n must be a positive integer (>= 1).")
# For n=1, range is 0-9; for n>1, ensure no leading zeros
lower_bound = 10**(n - 1) if n > 1 else 0
upper_bound = (10**n) - 1
return random.randint(lower_bound, upper_bound)
print(generate_n_digit_number(1))
print(generate_n_digit_number(4))
print(generate_n_digit_number(10))
'''
run:
5
9100
3027065208
'''