Cod sursa(job #1201041)
Utilizator | Data | 24 iunie 2014 13:15:28 | |
---|---|---|---|
Problema | Divizori Primi | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <cstdio>
#define L 1000000
using namespace std;
int i,j,n,x,y,v[L],a[8][L];
int main()
{
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
for(i=2;i<=L;i++)
{
if(!v[i])
{
for(j=i;j<=L;j+=i)
v[j]++;
}
for(j=1;j<=7;++j)
a[j][i]=a[j][i-1];
if(v[i]<=7)
a[v[i]][i]=i;
}
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d%d",&x,&y);
printf("%d\n",a[y][x]);
}
fclose(stdin);
fclose(stdout);
return 0;
}