388
Cerința
Se dă un tablou cu n elemente, numere naturale. Să se afișeze numerele prime din șir, în ordinea în care apar în șir.
Se va defini și apela subprogramul prim, care verifică dacă un număr natural transmis ca parametru este prim.
Date de intrare
Fișierul de intrare prime.in conține pe prima linie numărul n, iar iar pe a doua linie cele n elemente ale tabloului.
Date de ieșire
Fișierul de intrare prime.out va conține pe prima linie elementele cerute, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n ≤ 1000- elementele tabloului vor fi mai mici decât
1 000 000 000
Exemplu
prime.in
5 12 2 123 41 77
prime.out
2 41
#include <bits/stdc++.h>
using namespace std;
ifstream fin("prime.in");
ofstream fout("prime.out");
int prim(int n)
{
int cnt=0;
for (int i = 1 ; i * i <= n ; ++i)
{
if (n%i==0)
cnt+=2;
if (i*i==n)
cnt--;
}
if (cnt==2)
return 1;
else
return 0;
}
int main()
{
int n;
fin >> n;
int a[1001];
for (int i = 0 ; i < n ; ++i)
{
fin >> a[i];
if (prim(a[i]))
fout << a[i] << ' ';
}
fin.close();
fout.close();
return 0;
}
Comentarii