Informatică, întrebare adresată de iordachegabrie, 9 ani în urmă



Cerinţa
Se dau n numere naturale mai mici decât 1.000.000. Determinaţi câte dintre ele sunt prime.

Date de intrare
Fişierul de intrare eratostene.in conţine pe prima linie numărul n; urmează cele n numere, dispuse pe mai multe linii şi separate prin spaţii.

Date de ieşire
Fişierul de ieşire eratostene.out va conţine pe prima linie numărul C, reprezentând numărul valorilor citite care erau numere prime.

Restricţii şi precizări
1 ≤ n ≤ 1.000.000

Exemplu
eratostene.in

6
12 18 19 25 29 7
eratostene.out

3

Răspunsuri la întrebare

Răspuns de Puiutz
4
#include <iostream>#include <fstream>
using namespace std;ifstream f("eratostene.in");ofstream g("eratostene.out");
int prim(int k){if(k == 0 || k == 1) return 0;for(int d = 2; d*d <= k; d++) if(k % d == 0) return 0; return 1; } int main() {
 int c = 0, n, i = 0, x; f >> n;  while(i < n)  {  f >> x;  if(prim(x))  c++;  i++;  }  g << c; }

iordachegabrie: multumesc dar nu stiu care e treaba cu atatea return0 asa ca nu il pot folosi dar mersi oricum
Puiutz: Ai doar 1 return 0
Puiutz: Si acela este in functie
Puiutz: Cel din main il ai mereu acolo
Alte întrebări interesante