Cod sursa(job #1337956)

Utilizator mateicosCostescu Matei mateicos Data 9 februarie 2015 17:46:32
Problema Divizori Primi Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <stdlib.h>

int ciur[1000010],d[10][1000010];
int main()
{
    FILE *fin=fopen("divprim.in", "r");
    FILE *fout=fopen("divprim.out", "w");
    int n,k,a, t, i, j;
    for (i=2;i<=1000000;i++){
        if (ciur[i]==0){
            for (j=i;j<=1000000;j=j+i){
                ciur[j]++;
            }
        }
    }
    for (i=1;i<=7;i++){
        for (j=1;j<=1000000;j++){
            if (ciur[j]==i){
                d[i][j]=j;
             }
             else {
                d[i][j]=d[i][j-1];
             }
        }
    }
    fscanf(fin, "%d", &t);
    for(a=1;a<=t;a++){
        fscanf(fin,"%d%d", &n, &k);
        fprintf(fout,"%d\n", d[k][n]);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}