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
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
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă