Cod sursa(job #1580835)
| Utilizator | Data | 26 ianuarie 2016 10:32:07 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include<stdio.h>
using namespace std;
long long x1,k;
long long exp(long long x,long long n)
{
if(n<0) return exp(1/x,-n);
if(n==0) return 1;
if(n==1) return x;
if(n%2==0) return exp(x*x,n/2);
else return x*exp(x*x,(n-1)/2);
}
int main()
{
freopen("lgput.in","r",stdin);
scanf("%llu %llu",&x1,&k);
freopen("lgput.out","w",stdout);
long long res=exp(x1,k)%1999999973;
printf("%llu",res);
return 0;
}
