Cod sursa(job #808791)
Utilizator | Dobre Bogdan Mihai dobrebogdan | Data | 7 noiembrie 2012 12:36:35 |
---|---|---|---|
Problema | Divizori Primi | Scor | 55 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<stdio.h>
int nd[1000001];
int main()
{
freopen("divprim.in", "r", stdin);
freopen("divprim.out", "w", stdout);
int i,j,t,k,n;
for(i=2;i<=1000000;i=i+2)
nd[i]++;
for(i=3;i<=1000001;i++)
if(nd[i]==0)
for(j=i;j<=1000001;j=j+i)
nd[j]++;
scanf("%d",&t);
for(j=1;j<=t;j++)
{
scanf("%d%d",&n,&k);
for(i=n;i>=2;i--)
if(nd[i]==k)
{
printf("%d\n",i);
break;
}
if(i==1)
printf("0\n");
}
return 0;
}