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

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
Ma poate ajuta cineva cu codul integral scris corect?

Răspunsuri la întrebare

Răspuns de pacuriciandrei
0

Răspuns:

Sper sa te ajute. Daca nu functioneaza ceva sau iti da vreo eroare te rog sa imi lasi un comentariu.

Explicație:

#include <iostream>

#include <fstream>

using namespace std;

bool is_prime(int n) {

   if (n < 2)

       return false;

   for (int i = 2; i <= n / 2; i++) {

       if (n % i == 0)

           return false;

   }

   return true;

}

int main() {

   int n;

   ifstream fin("date.txt");

   fin >> n;

   fin.close();

   ofstream fout("date.out");

   if (n % 2 != 0 || n < 2) {

       fout << "Numar invalid" << endl;

       fout.close();

       return 0;

   }

   for (int i = 2; i <= n / 2; i++) {

       if (is_prime(i) && is_prime(n - i)) {

           fout << i << "+" << n - i << endl;

       }

   }

   fout.close();

   return 0;

}


criss331980: afiseaza numar invalid
criss331980: Afiseaza numar invalid
Alte întrebări interesante