Cod sursa(job #2354848)

Utilizator hristacheruxiRuxandra Hristache hristacheruxi Data 25 februarie 2019 17:10:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    long long sol = 1, baza, exponent;

    scanf("%lld%lld", &baza, &exponent);

    while (exponent != 0)
    {
        if (exponent % 2 == 0)
        {
            baza = (baza * baza) % MOD;
            exponent /= 2;
        }
        else
        {
            sol = (sol * baza) % MOD;
            exponent--;
        }
    }

    sol %= MOD;
    printf("%lld", sol);
    return 0;
}