1289 - CifreGen2

From Bitnami MediaWiki

Cerința[edit | edit source]

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

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul 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.

Restricții și precizări[edit | edit source]

  • 1 ⩽ n ⩽ 7

Exemplul 1[edit | edit source]

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

Exemplul 2[edit | edit source]

Intrare
0
Ieșire
Datele nu corespund restrictiilor impuse

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

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

</syntaxhighlight>