1287 - CifreGen
Cerința[edit | edit source]
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[edit | edit source]
Programul citește de la tastatură numerele a b n
.
Date de ieșire[edit | edit source]
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[edit | edit source]
1 ≤ n ≤ 8
0 < a < b < 10
Exemplul 1[edit | edit source]
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[edit | edit source]
Intrare
5 3 10
consola
"Nu corespunde restricțiilor".
Rezolvare[edit | edit source]
<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>