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?
#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
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;
}
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă