Cod sursa(job #2546409)

Utilizator MoldovanAndrei1Moldovan 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;
}