Pagini recente » Cod sursa (job #3329379) | Cod sursa (job #2210953) | Cod sursa (job #2309925) | Monitorul de evaluare | Cod sursa (job #3315081)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const int MAXN = 1000000;
int divp[MAXN + 1];
int ans[8][MAXN + 1];
int main()
{
ifstream f("divprim.in");
ofstream g("divprim.out");
for (int i = 2; i <= MAXN; i++)
{
if (divp[i] == 0)
{
for (int j = i; j <= MAXN; j += i)
{
divp[j]++;
}
}
}
for (int k = 0; k <= 7; k++)
{
int last = 0;
for (int i = 1; i <= MAXN; i++)
{
if (divp[i] == k)
{
last = i;
}
ans[k][i] = last;
}
}
int T;
f >> T;
for (int t = 0; t < T; t++)
{
int N, K;
f >> N >> K;
g << ans[K][N] << '\n';
}
return 0;
}