Cod sursa(job #368227)

Utilizator Cristi09Cristi Cristi09 Data 24 noiembrie 2009 10:52:24
Problema Frac Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
long long n,p,a[1000000],ind=0,nr;
void getdiv();
int test(long long x);
int main()
{
   FILE*f=fopen("frac.in","r");
   fscanf(f,"%d%d",&n,&p);
   fclose(f);

   getdiv();
   long long i,cont=0;
   for(i=1;cont<p;++i)
	  if(test(i)){++cont;nr=i;}
   FILE*g=fopen("frac.out","w");
   fprintf(g,"%d",nr);
   fclose(g);
}
void getdiv()
{
   long long x=n,i=2;

   for(i;x>1;++i)
	  if(x%i==0)
	  {
		a[ind]=i;
		++ind;
		while(x%i==0)x/=i;
	  }
}
int test(long long x)
{
	int ok=1;
	long long i;

	for(i=0;i<ind&&ok;++i)
	if(x%a[i]==0)ok=0;

	return ok;
}