Cod sursa(job #247025)
Utilizator | Data | 21 ianuarie 2009 23:22:20 | |
---|---|---|---|
Problema | GFact | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
int p,q,A=1;
void ridicare_p_la_q()
{
while(q)
{
if(q%2)
A=(A*p);
p=p*p;
q/=2;
}
}
int g_fact(int i)
{
int ci=i;
if(ci!=1)
return ci*g_fact(i);
else
return 1;
}
int main()
{
freopen("gfact.in","r",stdin);
freopen("gfact.out","w",stdout);
scanf("%d%d",&p,&q);
ridicare_p_la_q();
for(int i=1;i<=A;++i)
if(g_fact(i)%A==0)
{
printf("%d",i);
break;
}
return 0;
}