1289 - CifreGen2

De la Universitas MediaWiki
Versiunea din 8 ianuarie 2024 17:03, autor: Ramona Dragoș (discuție | contribuții) (Pagină nouă: == Cerința == Se dă un număr natural '''n'''. Să se genereze toate numerele cu exact '''n''' cifre prime. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == 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''' == Exemplul 1 == ;'''Intrare''' :2 ;'''Ieșire''' :22 :23 :25 :27 :32 :33 :35 :37 :52 :53 :55 :57 :72 :73 :75 :77 ==...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

Cerința

Se dă un număr natural n. Să se genereze toate numerele cu exact n cifre prime.

Date de intrare

Programul citește de la tastatură numărul n.

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

Exemplul 1

Intrare
2
Ieșire
22
23
25
27
32
33
35
37
52
53
55
57
72
73
75
77

Exemplul 2

Intrare
0
Ieșire
Datele nu corespund restrictiilor impuse

Rezolvare

#1289 - CifreGen2
n = 0
x = [0] * 10
prime = [2, 3, 5, 7]

def read():
    global n
    n = int(input())

def display():
    for i in range(1, n + 1):
        print(x[i], end='')
    print()

def check_restrictions():
    return 1 <= n <= 7

def backtracking(k):
    if k > n:
        display()
    else:
        for i in range(4):
            x[k] = prime[i]
            backtracking(k + 1)

def main():
    read()
    if not check_restrictions():
        print("Datele nu corespund restrictiilor impuse")
    else:
        backtracking(1)

if __name__ == "__main__":
    main()