Cod sursa(job #2635983)

Utilizator vlad082002Ciocoiu Vlad vlad082002 Data 16 iulie 2020 11:10:34
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const unsigned long long mod = 1999999973;
unsigned long long a, b;


unsigned long long exp(unsigned long long a, unsigned long long b) {
    if(!b) return 1LL;

    if(b%2) return (a*exp(a, b-1))%mod;

    unsigned long long rad = exp(a, b/2);
    return (rad*rad)%mod;
}

int main() {
    fin >> a >> b;
    fout << exp(a, b);
}