Cod sursa(job #337439)
| Utilizator | Data | 3 august 2009 17:36:56 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 25 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<stdio.h>
#define dim 1000001
using namespace std;
int v[dim];
int main()
{ int K;
long long T,N,i,j;
FILE *f = fopen("divprim.in", "r");
FILE *g = fopen("divprim.out", "w");
fscanf(f, "%lld", &T);
for(i = 2; i*i <= dim; i++)
if(v[i] == 0)
for(j = i+i; j <= dim; j+=i)
v[j]++;
for(i = 1; i <= T; i++)
{
fscanf(f, "%lld%d", &N, &K);
for(j = N; j >= 1; j--)
if(v[j] == K) {fprintf(g, "%lld\n", j); break;}
if(j == 0) fprintf(g, "0\n");
}
fclose(f);
fclose(g);
return 0;
}
