Din fisierul date.in de pe prima linie se citeste un numar natural n, iar de pe urmatoarele
linii, n numere naturale. Sa se scrie in fisierul date.out, numerele care sunt prime, pe acelasi rand,
despartite prin cate un spatiu.
Exemplu:
date.in date.out
5 13 2 17
1
13
2
100
17
55
Răspunsuri la întrebare
Explicație:
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
bool prime(int a)//aplicam algoritmul de determinare daca un numar este sau nu prim
{
for(int j=2;j<=sqrt(a);j++)//parcurgem toate numerele de la 2 pana la radical din a (un numar daca are divizori, are macar un divizor pana la radical din a)
if(a%j==0)//testam daca a se imparte sau nu la un j
return 0;
return 1;
}
int main()
{
int n,sir[100];
fin>>n;
for(int i=0;i<n;i++)
fin>>sir[i];
for(int i=0;i<n;i++)//parcurgem elementele sirului
if(prime(sir[i])==1)//apelam functia pentru fiecare element si testam daca valoarea este sau nu 1 si in caz afirmativ executam instructiunea de mai jos
fout<<sir[i]<<" ";
fin.close();
fout.close();
return 0;
}