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

pbinfo
pb 100
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


rossetta: Ce limbaj de programare?
foxarina2000: c++
rossetta: //Nu am fisiere. Trebuie sa le adaugi tu
#include <iostream>
using namespace std;

int main() {
int n, v, prime = 0;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> v;
int d = 2;
while(d * d <= v && v % d != 0)
d++;
if( d * d > v && v > 1)
prime++;
}
cout << prime;
return 0;
}

Răspunsuri la întrebare

Răspuns de stassahul
5
#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