fbpx

Problema #100 – NrApPrime – Rezolvari PBInfo

de Mihai-Alexandru

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

Exemplu

nrapprime.in

5
25 17 2 10 13

nrapprime.out

3
#include <fstream>
using namespace std;
int prim (int n)
{
    if(n==0 || n==1) return 0;
    if(n==2) return 1;
    if(n%2==0) return 0;
    for (int i=3;i*i<=n;i += 2)
    {
        if(n%i==0) return 0;
    }
    return 1;
}
int main ()
{
    ifstream fin ("nrapprime.in");
    ofstream fout ("nrapprime.out");
    int n,x,cate=0;
    fin >> n;
    for (int j=1;j<=n;++j)
    {
        fin >> x;
        if(prim(x)) cate++;
    }
    fout << cate;
    fin.close();
    fout.close();
    return 0;
}

 

Comentarii

S-ar putea sa iti placa