376
Cerinţa
Se dau n numere naturale şi un număr natural k. Afişaţi acele numere date care au cel puţin k divizori.
Date de intrare
Fişierul de intrare divk.in conţine pe prima linie numerele n şi k, iar pe a doua linie n numere naturale separate prin spaţii.
Date de ieşire
Fişierul de ieşire divk.out va conţine pe prima linie numerele care au cel puţin k divizori, separate printr-un spaţiu, în ordinea în care au fost citite.
Restricţii şi precizări
1 ≤ n ≤ 100- numerele de pe a doua linie a fişierului de intrare, precum şi
kvor avea cel mult9cifre
Exemplu
divk.in
6 5 100 9 400 56 7 10
divk.out
100 400 56
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main()
{
long long n,x,k;
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>x;
int cate=0;
long long aux=x;
for(int j=1;j*j<=x;j++)
{
if(x%j==0) cate+=2;
if(j*j==x) cate--;
}
if(cate>=k) fout<<aux<<" ";
}
return 0;
}
Comentarii