Cod sursa(job #51466)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 13 aprilie 2007 09:12:06
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream.h>
int main(){
ifstream fin("divprim.in");
ofstream fout("divprim.out");
long T;
fin>>T;
for (long w=0;w<T;w++){
long  N,K,i=1,a[5000];
short   ok=1;
long z;
      fin>>N>>K;
      long M=N;
      a[0]=2;
      if (N%2==0)
	  M=N-1;
      for (long  h=3;h<=M;h+=2){
	   ok=1;
	for (z=3;z<h;z+=2)
	   if (h%z==0){
	       ok=0;
	       break;}
   if (ok==1)
       a[i++]=z;    }
ok=1;
long nr=0;
long s=0;
for (long y=N-1;y>1;y--){
       ok=1;
       nr=0;
       long j=0;
       while (a[j]<=y){
	if (y%a[j]==0)
	    nr++;
	    j++;}
    if (nr==K){
	s=y;
       break;} }
fout<<s<<"\n";
}
fin.close();
fout.close();
return 0;
}