Cod sursa(job #2351920)

Utilizator _paulPaul Tanasa _paul Data 22 februarie 2019 20:12:47
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>

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

unsigned long long int pow(unsigned long long int x, unsigned long long int y) {
    int a = x, b = y;

    unsigned long long int p = 1;
    while (b != 1) {
        if (b % 2 == 0) {
            p *= a * a;
        } else {
            p *= a * a * a;
        }
        b /= 2;
    }
    return p;
}

int main()
{
    unsigned long long int a, b;
    fin >> a >> b;

    fout << pow(a, b) % 1999999973;

    return 0;
}