Cod sursa(job #966001)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 25 iunie 2013 01:38:44
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
using namespace std;
const int NMAX = 1000005;
int F[NMAX],i,j,DP[NMAX][8],T;
// DP[i][j] = cel mai mare numar mai mic decat i cu j divizori primi
int main()
{
    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);
    for(;T;T--)
    {
        scanf("%d%d",&i,&j);
        printf("%d\n",DP[i][j]);
    }
    return 0;
}