Pagini recente » Cod sursa (job #857293) | Cod sursa (job #2736540) | Cod sursa (job #1272163) | Cod sursa (job #1490780) | Cod sursa (job #2133937)
#include <fstream>
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int v[100010], k[100010], ciur[1000001], mx, i, j, t;
void ciur1(int n)
{
for (int i = 2 * n; i <= mx; i += n)
ciur[i]++;
}
int main()
{
f >> t;
for (int i = 1; i <= t; i++)
{
f >> v[i] >> k[i];
if (v[i] > mx)
mx = v[i];
}
ciur1(2);
ciur[2] = 1;
for (i = 3; i <= mx; i+=2)
if (ciur[i] == 0)
{
ciur1(i);
ciur[i] = 1;
}
for (i = 1; i <= t; i++)
{
int ok = 0;
while (ciur[v[i]] != k[i])
{
if (v[i] == 1)
{
ok = 1;
g << 0 << "\n";
break;
}
v[i]--;
}
if(ok==0)
g << v[i] << "\n";
}
}