Pagini recente » Cod sursa (job #2576117) | Cod sursa (job #1845553) | Cod sursa (job #2050411) | Cod sursa (job #1381412) | Cod sursa (job #967880)
Cod sursa(job #967880)
#include<cstdio>
#define Nmax 1000005
using namespace std;
int f[Nmax],dp[Nmax][8];
//dp[i][j] = cel mai mare numar mai mic sau egal decat i cu j divizori primi
int main()
{
int i,j,T;
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
for(i = 2;i < Nmax; ++i)
if(!f[i])
for(j=i;j<Nmax;j+=i)
++f[j];
for(i = 2;i < Nmax; ++i)
{
for(j=1;j<=7;j++)
dp[i][j]=dp[i-1][j];
dp[i][f[i]]=i;
}
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&i,&j);
printf("%d\n",dp[i][j]);
}
return 0;
}