Pagini recente » Cod sursa (job #2867799) | Cod sursa (job #169693) | Cod sursa (job #1679301) | Cod sursa (job #2249504) | Cod sursa (job #1938237)
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int t,i,j,x,vx,mmax,prim[1000000],ok,nr1;
struct
{
int k,nr;
} v[100001];
int main()
{
mmax=INT_MIN;
f>>t;
for(i=1;i<=t;i++)
{
f>>v[i].nr>>v[i].k;
if(v[i].nr>mmax)
mmax=v[i].nr;
}
prim[1]=1;
for(i=2;i*i<=mmax;i++)
{
if(prim[i]==0)
for(j=2;j<=mmax/i;j++)
prim[i*j]=1;
}
for(i=1;i<=t;i++)
{
vx=0;
for(x=1;x<=v[i].nr;x++)
{
for(j=1;j<=x&&ok!=1;j++)
{
if(prim[j]==0&&x%j==0)
nr1++;
if(nr1>v[i].k)
ok=1;
}
ok=0;
if(nr1==v[i].k&&x>=vx)
{
vx=x;
}
nr1=0;
}
g<<vx<<"\n";
}
return 0;
}