Cod sursa(job #2365857)

Utilizator alex.sirbuSirbu Alexandru alex.sirbu Data 4 martie 2019 16:56:24
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std;

const long long m=1999999973;

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

long long getPutere(long long n, long long k){
    if(k==1) return n%m;
    if(k==0) return 1;
    if(k%2==0){
        int x=getPutere(n, k/2);
        return x*x%m;
    }
    else{
        int x=getPutere(n, k/2);
        return n*x*x%m;
    }
}

int main()
{
    long long n, k;
    fin>>n>>k;
    fout<<getPutere(n, k);
}