Cod sursa(job #1605528)

Utilizator radiogard1999Dragoi Andrei radiogard1999 Data 19 februarie 2016 09:18:14
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
#define Nmax 1000000
using namespace std;

ifstream fin("divprim.in");
ofstream fout("divprim.out");

int t,n,k;
int v[Nmax+5];
int a[8][Nmax+5];
void Ciur()
{
    int i,j;
    for(i=2;i<=Nmax;i+=2)
        v[i]++;
    for(i=3;i<=Nmax;i+=2)
        if(v[i]==0)
            for(j=i;j<=Nmax;j+=i)
                v[j]++;
    for(j=2;j<=Nmax;j++)
        for(i=1;i<=7;i++)
            if(v[j]==i) a[i][j]=j;
            else a[i][j]=a[i][j-1];

}

int main()
{
    Ciur();
    int i;
    fin>>t;
    for(i=1;i<=t;i++)
    {
        fin>>n>>k;
        fout<<a[k][n]<<"\n";
    }
    fin.close();
    fout.close();
    return 0;
}