👤

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
Ce este gresit la rezolvarea mea, deoarece primesc 90p pe pbinfo?
#include
#include

using namespace std;
ifstream fin("nrapprime.in");
ofstream fout("nrapprime.out");
int main()
{
int n,v[1000],i;
int k=0;
bool prim;
fin>>n;
if(n<1000){
for(i=0;i fin>>v[i];
for(i=0;i {
prim=true;
for(int d=2;d<=v[i]/2;d++)
if(v[i]%d==0)
prim=false;
if(prim==true)
k++;
}
fout< }
return 0;
}


Răspuns :

#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;

}


Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari