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