Cod sursa(job #967880)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 28 iunie 2013 17:57:19
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#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;
}