Informatică, întrebare adresată de criss331980, 8 ani în urmă

2.Construiţi un program care, citește un număr natural n, par (n>2) din fișierul ”date.txt” și afișează în fișierul ”date.out”, toate modurile de a descompune numărul citit, în sumă de două numere prime, folosind subprogramul de mai sus. (1p)

Exemplu:
pentru n=24, în fișier se vor afișa perechile sub forma:
5+19
7+17
11+13

Răspunsuri la întrebare

Răspuns de Alexandru15243
2

Răspuns:

Explicație:

def este_prim(n):

   if n < 2:

       return False

   for i in range(2, int(n ** 0.5) + 1):

       if n % i == 0:

           return False

   return True

def descompunere(n):

   if n < 4:

       return

   for i in range(2, n):

       if este_prim(i) and este_prim(n - i):

           print(i, " + ", n - i)

# citire din fisier

with open("date.txt", "r") as f:

   n = int(f.read())

# verificare daca n este par si mai mare ca 2

if n % 2 == 0 and n > 2:

   # scriere in fisier

   with open("date.out", "w") as f:

       f.write("Modurile de a descompune numarul " + str(n) + " in suma de doua numere prime sunt:")

       f.write("\n")

       descompunere(n)

else:

   print("Numarul introdus nu indeplineste conditiile cerute (par si mai mare ca 2)")

Acest program citeste un numar natural n (par si mai mare ca 2) din fisierul "date.txt" si apoi apeleaza functia "descompunere" care descompune numarul citit in suma de doua numere prime si afiseaza rezultatul in fisierul "date.out".


criss331980: Dar nu ruleaza corect,imi poti da codul corect?
criss331980: Imi poti da codul integral?
Alte întrebări interesante