Cod sursa(job #653196)
| Utilizator | Data | 27 decembrie 2011 16:23:18 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
# include <stdio.h>
long long int a,b,n,p;
int x,rez;
int pow(long long int a, long long int b)
{
long long int aux;
if (b==0) return 1;
else
if (b%2==0)
{
aux=pow(a,b/2);
return (aux*aux)%x;
}
else
return (a*pow(a,b-1))%x;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld\n",&n,&p);
x=1999999973;
rez=pow(n,p);
printf("%d\n",rez);
return 0;
}