Cod sursa(job #70621)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 6 iulie 2007 15:35:13
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;                                   
}

int main(){
gen_prime();
ifstream fin("divprim.in");
fin>>T;
for (long i=0;i<T;i++){
  fin>>N>>K;
  short ok=1;
  for (long j=N;j>=0;j--)
      if (prime[j]==K){
	 fout<<j<<"\n";
	 ok=0;
	 break;}
      if (ok==1)
	 fout<<0<<"\n";
	 }
fout.close();
return 0;
}