Cod sursa(job #2699394)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 24 ianuarie 2021 13:14:00
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>
#define MOD 1999999973

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");


int lgput(int base, int exp)
{
    int aux = base, ans = 1;
    for(int i = 1; i <= exp; i *= 2)
    {
        if(exp & i)
        {
            ans *= aux;
            ans %= MOD;
        }
        aux *= aux;
        aux %= MOD;
    }
    return ans;
}

int main()
{
    int n, p;
    fin >> n >> p;
    fout << lgput(n,p);
}