Cod sursa(job #2406381)

Utilizator MicuMicuda Andrei Micu Data 15 aprilie 2019 18:15:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD=1999999973;
long long lgput(int a, int n);

int main()
{
    int a, n;
    in >> a >> n;
    out << lgput(a, n);
    return 0;
}

long long lgput(int a, int n)
{
    if(n==0) return 1;
    if(n%2==0) return lgput((long long)a*a%MOD, n/2);
    else return ((long long)a*lgput((long long)a*a%MOD, n/2))%MOD;
}