Cod sursa(job #2546409)
Utilizator | Moldovan Andrei MoldovanAndrei1 | Data | 14 februarie 2020 10:06:44 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
const int mod= 1999999973;
long long res(long long nr,int put)
{
long long rez=1,baza=nr;
while(put)
{
if(put&1)
{
rez*=baza;
rez%=mod;
}
baza*=baza;baza%=mod;
put=put>>1;
}
return rez;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
long long a;
int exp;
scanf("%lld%d",&a,&exp);
printf("%lld",res(a,exp));
return 0;
}