Cod sursa(job #2760185)
| Utilizator | Data | 23 iunie 2021 16:18:40 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll MOD = 1999999973;
ll a,b;
ll lgput(ll a,ll b){
ll ans=1,aux=a;
for(ll i=0;(1<<i)<=b;i++){
if((1<<i)&b){
ans=(ans*aux)%MOD;
}
aux=(aux*aux)%MOD;
}
return ans;
}
int main(){
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lli %lli",&a,&b);
printf("%lli",lgput(a,b));
return 0;
}