Cod sursa(job #2104631)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 11 ianuarie 2018 23:08:31
Problema Divizori Primi Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>
char ciur[1000001];
int maxnr[8][1000001];
int main()
{
    int i,j,n,k,t;
    freopen("divprim.in","r",stdin);
    freopen("divprim.out","w",stdout);
    for(i=2; i<=1000000; i++)
        if(ciur[i]==0)
        {
            ciur[i]=1;
            for(j=2*i; j<=1000000; j+=i)
                ciur[j]++;
        }
    maxnr[0][1]=1;
    for(i=2; i<=1000000; i++)
    {
        for(j=0; j<=7; j++)
            maxnr[j][i]=maxnr[j][i-1];
        maxnr[ciur[i]][i]=i;
    }
    scanf("%d",&t);
    for(i=1; i<=t; i++)
    {
        scanf("%d%d",&n,&k);
        printf("%d\n",maxnr[k][n]);
    }

    return 0;
}