1289 - CifreGen2

From Bitnami MediaWiki
Revision as of 17:03, 8 January 2024 by Ramona Dragoș (talk | contribs) (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 ==...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>