Cod sursa(job #433462)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 3 aprilie 2010 18:41:37
Problema GFact Scor 20
Compilator cpp Status done
Runda pregatire_nationala Marime 0.68 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("gfact.in");
ofstream fout("gfact.out");

int P,Q,var,i,j;
long long A;


long long lgput(int N, int P)
{	
	if(P==1)
		return N;
	else
		if(P==2)
			return (N*N);
		else
		{
			if(P%2==0)
			{
				var = lgput(N,P/2);
				return (var*var);
			}
			else
			{
				var = lgput(N,(P-1)/2);
				var = (var*var);
				return (var*N);
			}
		}
}
	


int main()
{
	fin>>P>>Q;
	A = lgput(P,Q);
	long long prod = 1;
	for(i=1;i<=A;i++)
	{
		prod = 1;
		for(j=1;j<=i;j++)
			prod*=j;
		if(prod % A == 0)
		{
			fout<<i;
			break;
		}
	}
	
	
	return 0;
}