Cod sursa(job #483213)
| Utilizator | Data | 7 septembrie 2010 13:32:30 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
//Ridicare la putere in timp logaritmic
#include<stdio.h>
const int MOD=1999999973;
inline long long Pow( long long n, long long p)
{
if(p==1)
return n%MOD;
if(p%2)
return (Pow((n*n)%MOD,p/2)*n)%MOD;
return (Pow((n*n)%MOD,p/2))%MOD;
}
int main()
{
long long n, p;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld%lld",&n,&p);
n%=MOD;
printf("%lld\n",Pow( n, p));
return 0;
}
