Cod sursa(job #336500)
| Utilizator | Data | 31 iulie 2009 17:14:52 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 25 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<stdio.h>
using namespace std;
#define dim 900000
int v[dim];
int main()
{
int i,j,n,t,k;
FILE *f=fopen("divprim.in","r"), *g=fopen("divprim.out","w");
fscanf(f,"%d",&t);
for(i=2;i<=dim/2;i++)
if(v[i]==0)
{
for(j=2;j*i<=dim;j++)
v[i*j]++;
}
for(i=1;i<=t;i++)
{
fscanf(f,"%d%d",&n,&k);
for(j=n;j>=1;j--)
{
if(v[j]==k) { fprintf(g,"%d\n",j);break;}
}
if(j==0)
fprintf(g,"0\n");
}
fclose(f);
fclose(g);
return 0;}