Cod sursa(job #975129)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 19 iulie 2013 10:37:42
Problema Divizori Primi Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#define N 1000000
int ciur[N+1];
int nr[8][N+1];
int main()
{
    FILE *fin,*fout;
    fin=fopen("divprim.in","r");
    fout=fopen("divprim.out","w");
    int n;
    fscanf(fin,"%d",&n);
    int i;
    for(i=2;i<1000;i++)
    {
        if(ciur[i]==0)
        {
            int j;
            for(j=i*2;j<=N;j+=i)
                ciur[j]++;
        }
    }
    for(i=1;i<=N;i++)
    {
        int j;
        for(j=0;j<=7;j++)
            nr[j][i]=nr[j][i-1];
        nr[ciur[i]][i]=i;
    }
    for(i=0;i<n;i++)
    {
        int limita,k;
        fscanf(fin,"%d%d",&limita,&k);
        fprintf(fout,"%d\n",nr[k][limita]);
    }
    return 0;
}