Cod sursa(job #459620)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 30 mai 2010 14:07:33
Problema Divizori Primi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
using namespace std;
#define MAX 1000002
ifstream in("divprim.in");
ofstream out("divprim.out");
int phi[MAX];
int sol[MAX][8];
int main ()
{
	int i,j;
	for(i=4;i<=MAX;i+=2)
		phi[i]=1;
	for(i=3;i*i<=MAX;i+=2)
	{
		if(phi[i]==0)
			for(j=2*i;j<=MAX;j+=i)
				phi[j]++;
	}
	int n,k;
	for(i=1;i<=MAX;i++)
	{
		for(j=0;j<8;j++)
			sol[i][j]=sol[i-1][j];
		if(phi[i])
		sol[i][phi[i]]=i;
	}
	int T;
	in>>T;
	while(T--)
	{
		in>>n>>k;
		out<<sol[n][k]<<'\n';
	}
}