Cod sursa(job #57711)

Utilizator me_andyAvramescu Andrei me_andy Data 2 mai 2007 20:56:45
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream.h>
#include<math.h>

#define max 200002

 char x[max];
 long m[max][9];
 long i,a,b,n;
 ifstream f("divprim.in");
 ofstream g("divprim.out");
void prime()
{
 long c=2,i;
 while(c<=sqrt(200000))
 {
  for(i=2*c;i<=200000;i+=c)
	x[i]++;
  do{ c++;
  }while (x[c]);
 }
}
void matrice()
{long k;
 for(long i=1;i<=200000;i++)
	for(int j=1;j<=7;j++)
    {
      if(m[i][j-1]==0 && j>=2)
      {
         for(k=j;k<=7;k++)
          m[i][k]=0;
      }
      else
      {
        for(k=i;k>=1;k--)
         if(x[k]==j)
	    {
 	 	 m[i][j]=k;
 		 break;
	   }
    
      
    }}
}
int main()
{
 prime();
 matrice();
 f>>n;

 for(i=1;i<=n;i++)
 {
  f>>a;
  f>>b;
 	g<<m[a][b]<<"\n";
  }             
 f.close();
 g.close();
 return 0;
}