Cod sursa(job #2248908)
| Utilizator | Data | 29 septembrie 2018 13:48:26 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
int NrDiv ( int a ) {
int d = 2, k = 0;
while ( a != 1 ) {
if ( a % d == 0 ) {
while ( a % d == 0 ) a /= d;
k++;
}
d++;
}
return k;
}
int nr ( int n, int k ) {
for ( int i = n; i >= 2; i--)
if ( NrDiv(i) == k ) return i;
return 0;
}
int main()
{
ifstream fin ( "divprim.in" );
ofstream fout ( "divprim.out" );
int n, a, b;
fin >> n;
for ( int i = 0; i < n; i++ ) {
fin >> a >> b;
fout << nr(a , b) << endl;
}
return 0;
}
