1289 - CifreGen2

De la Universitas MediaWiki

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()