Cod sursa(job #2282192)

Utilizator mariusn01Marius Nicoli mariusn01 Data 13 noiembrie 2018 13:55:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#define MOD 1999999973
using namespace std;

long long calcul(long long a, long long b) {
    if (b == 0)
        return 1;
    else {
        if (b%2 == 0)
            return calcul(a, b/2) * calcul(a, b/2) % MOD;
        else
            return calcul(a, b/2) * calcul(a, b/2) % MOD * a % MOD;

    }
}

long long a, b;

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

    fin>>a>>b;
    fout<<calcul(a, b);
    return 0;
}
/*
5 42
calculam 5^21 si inmultim rezultatul cu el insusi
*/