Cod sursa(job #627490)
Utilizator | FMI - ALexandru Mihai the_snyper06 | Data | 30 octombrie 2011 02:20:21 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<cstdio>
int n, p;
long long PutereLog(int n, int p)
{
if(p == 0) return 1;
if(p % 2 != 0) return PutereLog(n, p - 1) * n % 1999999973;
else
{
long long x = PutereLog(n, p / 2);
return x * x % 1999999973;
}
}
int main()
{
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%d %d", &n, &p);
printf("%lld\n", PutereLog(n, p));
return 0;
}