Cod sursa(job #1895697)
| Utilizator | Data | 28 februarie 2017 10:04:41 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <fstream>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
long long N;
int T , X[1000001] , A[8][1000001];
short K ;
void ciur(){
long long i,j;
for(i=2;i<=1000;i++)
if(!X[i])
{
j=2;
while(j*i<=1000000)X[j*i]++,j++;
X[i]=1;
}
}
int main()
{
fin>>T;
ciur();
for(int i=1;i<=7;i++)
for(long long j=1;j<=1000000;j++)
if(X[j]==i)A[i][j]=j;
else A[i][j]=A[i][j-1];
for(int i=1;i<=T;i++){
fin>> N >> K;
fout<<A[K][N]<<"\n";
}
}
