Cod sursa(job #337558)

Utilizator ucc_5Usurelu Catalin ucc_5 Data 4 august 2009 00:15:32
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
#define Max 1000000
int n,k,t,v[Max],sol[Max][8];

int find_nr (int n, int k)
{
  for (int i=n; i>=1; i--)
	if (v[i]==k)
	  return i;
  return 0;
}

void precompute ()
{
  for (int i=2; i<=Max; i++)
	if (v[i]==0)
	  for (int j=i; j<=Max; j += i )
		v[j]++;
  for (int i=1; i<=Max; i++)
	for (int j=1; j<=7; j++)
	  {
		if (v[i]==j)
		sol[i][j]=i;
		else sol[i][j]=sol[i-1][j];
	  }
	
}

int main ()
{
  precompute ();
  f>>t;
  for (int i=1; i<=t; i++)
  {
	f>>n>>k;
	g<<sol[n][k]<<'\n';
  }
  f.close (); g.close ();
  return 0;
}