Fişierul divizor.in conţine pe prima linie un număr natural nenul n, iar pe a doua line,
separate prin spaţiu, n numere naturale nenule. Să se afişeze în fişierul divizor.out, pe prima linie
separate prin spaţiu, acele numere de pe a doua linie din fişierul de intrare care sunt prime cu n, iar pe
a doua line se va afişa câte astfel de numere există.
Exemplu:
divizor.in divizor.out
8 33 9 41 45
12 33 9 41 10 18 45 22 4
Răspunsuri la întrebare
Explicație:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("divizor.in");
ofstream fout("divizor.out");
int prime_intre_ele(int a, int b)//algoritmul lui Euclid in varianta recursiva pentru a determina cmmdc
{
if(!b)
return a;
return prime_intre_ele(b,a%b);
}
int main()
{
int n,sir[100];
fin>>n;
for(int i=1;i<=n;i++)
fin>>sir[i];
int k=0;//initializam cu 0 numarul de numere ce indeplinesc conditia
for(int i=1;i<=n;i++)
if(prime_intre_ele(sir[i],n)==1)//apelam pentru fiecare numar din sir functia de mai sus si daca rezultatul este 1, atunci
{
fout<<sir[i]<<" ";//scriem elementul
k++;//k creste cu o unitate
}
fout<<endl;
fout<<k;//scriem k
fin.close();
fout.close();
return 0;
}