Cod sursa(job #93500)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 18 octombrie 2007 21:52:43
Problema Divizori Primi Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
using namespace std;
ofstream fout("divprim.out");
long prime[1000001],T,N,K;
void gen_prime() {

	prime[1000000] = 1;
	for (long d = 3; d < 1000000; d+=2) {
		prime[d - 1]++;
		if (prime[d] == 0)     {
			for (long v= 2; v*d < 1000000; v++)
				prime[d * v]++;
		prime[d]=1;}
	}
	prime[2] = 1;                                   
}
long adevar (long N,long K){
  for (long j=N;j>=0;j--)
      if (prime[j]==K)
	 return j;
return 0;
}

int main(){
gen_prime();
ifstream fin("divprim.in");
fin>>T;
for (long i=0;i<T;i++){
  fin>>N>>K;
  fout<<adevar(N,K)<<"\n";
  }
fout.close();
return 0;
}