Cod sursa(job #1912674)

Utilizator SirbuSirbu Ioan Sirbu Data 8 martie 2017 10:09:44
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#define NMAX 1000002
using namespace std;
ifstream fin ("divprim.in");
ofstream fout ("divprim.out");

int ciur [NMAX+2];
int d[NMAX][10];


int main (){

  int t,n,k;
  fin >> t;

  for (int i = 2; i <= NMAX; ++i){
    if (ciur[i]==0){
      ciur[i]++;
      for (int j = i + i; j <= NMAX; j += i)
        ciur[j]++;
    }
  }

  for (int i = 2; i <= NMAX; ++i)
    for (int j = 1; j <= 7; ++j)
      if (ciur[i] == j)
        d[i][j] = i;
      else d[i][j] = d[i-1][j];

  for (int i = 1; i <= t; ++i){
    fin >> n >> k;
    fout << d[n][k] << "\n";
  }

}