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.
MA POATE AJUTA CINEVA CU O REZOLVARE LA ACEASTA PROBLEMA?
Exemplu:
pentru n=24, în fișier se vor afișa perechile sub forma:
5+19
7+17
11+13


criss331980: nu e bun codul

Răspunsuri la întrebare

Răspuns de bordeic4
0

subprogramul lipseste (presupun ca e unul de numere prime, caz in care l.am scris)

#include<iostream>


std::ifstream cin("date.in");
std::ofstream cout("date.out");

bool prim(int x){

  if(x == 2 || x == 3) return 1;

if(x % 2 == 0) return 0;

if(x % 3 == 0) return 0;

for(int d = 5; d*d < x; d += 2) if(x % d == 0) return 0;

return 1;

}

int main(){

int n; cin >> n;

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

   if(prim(i) && prim(n - i)) cout << i << '+' << n - i << '\n';

}

}


criss331980: main.cpp:12:18: error: variable ‘std::ifstream cin’ has initializer but incomplete type
12 | std::ifstream cin("date.in");
| ^
main.cpp:13:19: error: variable ‘std::ofstream cout’ has initializer but incomplete type
13 | std::ofstream cout("date.out");
| ^
criss331980: eroarea aceasta afiseaza
bordeic4: am uitat sa include , pentru sigunranta, adauga la inceputul file-ului #include
bordeic4: trebuie sa incluzi bits/stdc++.h sau fstream
Alte întrebări interesante