Cod sursa(job #1209739)
Utilizator | Mihai Musat mihaimusat | Data | 18 iulie 2014 14:22:48 |
---|---|---|---|
Problema | Divizori Primi | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
int a[1000001];
int d[1000001][8];
int i,j,t,x,y;
int main()
{
ifstream f("divprim.in");
ofstream g("divprim.out");
f>>t;
for (i=1; i<=500000; i++)
a[(i<<1)]=1;
for (i=3; i<=1000000; i++)
if (!a[i])
for (j=1; j*i<=1000000; j++)
a[i*j]++;
d[1][0]=1;
for (i=2; i<=1000000; i++){
for (j=0; j<=7; j++)
d[i][j]=d[i-1][j];
d[i][a[i]]=i;
}
for (; t; t--){
f>>x>>y;
g<<d[x][y]<<"\n";
}
return 0;
}