Cod sursa(job #715863)
| Utilizator | Data | 17 martie 2012 21:15:22 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
#define mod 1999999973
using namespace std;
int n,p;
long long pow(long a, long b)
{
if( !b ) return 1;
if( b%2 ) return (pow(a,b-1)%mod*a)%mod;
else return (pow(a,b/2)%mod)*(pow(a,b/2)%mod)%mod;
}
int main()
{
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf("%d %d", &n ,&p);
printf("%lld",pow(n,p));
return 0;
}
