Cod sursa(job #342207)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 20 august 2009 21:06:53
Problema GFact Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>

#define file_in "gfact.in"
#define file_out "gfact.out"

long long p,q;

inline long long power(long long a, long long b)
{
    long long x;
    if (b==1)
         return a;
    else
    if (b%2==0)
    {
        x=power(a,b/2);
        return (x*x);
    }
    else
    {
       x=power(a,b/2);
       return ((x*x)*a);
    }
}

inline long long solve()
{
	long long rez=1,nr=1;
	
	while(rez%p!=0)
	{
		nr++;
		rez*=nr;
	}
	
	return nr;
}

int main()
{

	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);

	scanf("%lld %lld", &p,&q);

	if (q==1)
	{
		int x;
		//printf("%lld", solve());
		while(1)
			x++;
	}
	else
	{
		p=power(p,q);
		printf("%lld", solve());
	}
	//}

	fclose(stdin);
	fclose(stdout);

	return 0;
}