1290 - CifreGen3
De la Universitas MediaWiki
Cerința
Se dau două numere n m. Să se genereze toate numerele cu exact n cifre mai mici decât m cu proprietatea că prima și ultima cifră sunt egale.
Date de intrare
Programul citește de la tastatură numerele n m.
Date de ieșire
Programul va afișa pe ecran numerele generate, câte unul pe linie, în ordine crescătoare.
Restricții și precizări
- 1 ≤ n ≤ 7
- 0 < m < 6
Exemplu 1
- Intrare
3 3
- Iesire
101
111
121
202
212
222
Rezolvare
def generate_numbers(n, m):
numbers = []
for i in range(10**(n-1), 10**n):
num_str = str(i)
if num_str[0] == num_str[-1] and all(int(digit) < m for digit in num_str):
numbers.append(num_str)
return numbers
def read_input():
n, m = map(int, input("Enter n and m: ").split())
if not (1 <= n <= 7):
raise ValueError("1 ≤ n ≤ 7")
if not (0 < m < 6):
raise ValueError("0 < m < 6")
return n, m
def main():
try:
n, m = read_input()
numbers = generate_numbers(n, m)
for num in numbers:
print(num)
except ValueError as e:
print("Error:", e)
if __name__ == '__main__':
main()