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

Se citeşte n şi un şir de n numere naturale.

Cerinţa
Să se determine câte elemente din şir sunt numere prime.

Date de intrare
Fişierul de intrare nrapprime.in conţine pe prima linie numărul n şi pe a doua linie n numere naturale separate prin spaţii.

Date de ieşire
Fişierul de ieşire nrapprime.out va conţine pe prima linie un singur număr natural, reprezentând numărul de elemente prime din şir.

Restricţii şi precizări
0 < n < 100
numerele de pe a doua linie a fişierului de intrare vor fi mai mici decât 1.000.000.000
Acesta este codul meu dar imi da 0 puncte pe pbinfo.
#include
using namespace std;
ifstream f("nrapprime.in");
ofstream g("nraaprime.out");
int d,i,v[101],n,k=0,Ok;
int main()
{f>>n;
for(i=1;i<=n;i++)
f>>v[i];
Ok=1;
if(v[i]<=1) Ok=0;
for(d=2;d<=v[i]/2;d++)
if(v[i]%d==0)
Ok=0;
if(Ok==1)
k++;
g< return 0;
}

Răspunsuri la întrebare

Răspuns de pmarian98
1

#include <fstream>

using namespace std;

ifstream fin("nrapprime.in");

ofstream fout("nrapprime.out");

int n,x,nr,prim(int a);

int main()

{

   fin >> n;

   for(;n;n--)

   {

       fin >> x;

       if(prim(x))

           nr++;

   }

   fout << nr;

   return 0;

}

int prim(int a)

{

   if(a==2)

       return 1;

   if(a<2 or a%2==0)

       return 0;

   for(int i=3;i*i<=a;i+=2)

       if(a%i==0)

           return 0;

   return 1;

}

Alte întrebări interesante