1287 - CifreGen
Cerința
Se dau două cifre a b
și un număr n
. Să se genereze toate numerele cu exact n
cifre cuprinse între a
și b
.
Date de intrare
Programul citește de la tastatură numerele a b n
.
Date de ieșire
Programul va afișa pe ecran numerele generate, câte unul pe linie, în ordine crescătoare. În cazul în care restricțiile nu sunt îndeplinite, se va afișa mesajul "Nu corespunde restricțiilor".
Restricții și precizări
1 ≤ n ≤ 8
0 < a < b < 10
Exemplul 1
Intrare
3 5 3
Ieșire
333 334 335 343 344 345 353 354 355 433 434 435 443 444 445 453 454 455 533 534 535 543 544 545 553 554 555
Exemplul 2
Intrare
3 5 3
consola
"Nu corespunde restricțiilor".
Rezolvare
<syntaxhighlight lang="python3" line="1"> def validate_restrictions(a, b, n):
if 1 <= n <= 8 and 0 < a < b < 10: return True else: print("Nu corespunde restricțiilor") return False
- Citirea datelor de intrare
a = int(input("Introduceți a: ")) b = int(input("Introduceți b: ")) n = int(input("Introduceți n: "))
- Validarea restricțiilor
if validate_restrictions(a, b, n):
# Generarea și afișarea numerelor def generate_numbers(current_number, remaining_digits): if remaining_digits == 0: print(current_number) return for digit in range(a, b+1): generate_numbers(current_number * 10 + digit, remaining_digits - 1)
for starting_digit in range(a, b+1): generate_numbers(starting_digit, n - 1)
</syntaxhighlight>