Cod sursa(job #352577)
| Utilizator | Data | 2 octombrie 2009 13:57:08 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <stdio.h>
int a[1000001];
int d[1000001][8];
int i,j,t,x,y;
int main()
{
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
scanf("%d",t);
int max=1000000;
} for (i=1; i<=(max >> 1); i++)
a[i<<1]=1;
for (i=3; i<=max; i++)
if (!a[i])
for (j=1; j*i<=max; i++)
a[i*j]++;
d[1][0]=1;
for (i=2; i<=max; i++){
for (j=0; j<=7; j++)
d[i,j]=d[i-1][j];
d[i,a[i]]=i;
}
for (; t; t--){
scanf("%d %d",&x,&y);
printf("%d\n",d[x][y]);
}
return 0;
}