Cod sursa(job #2923832)

Utilizator CosmincreatoMarasoiu Cosmin Cosmincreato Data 19 septembrie 2022 18:38:55
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

const long long MOD = 1999999973;

long long putere(long long a, long long n)
{
    long long val = 1;
    while(n > 0)
        if(n % 2 == 0)
        {
            a = a % MOD * a % MOD;
            n /= 2;
        }
        else
        {
            val = val % MOD * a % MOD;
            n--;
        }
    return val;
}

int main()
{
    long long a, b;
    fin >> a >> b;
    fout << putere(a, b);
    return 0;
}