Cod sursa(job #2574902)

Utilizator luci.tosaTosa Lucian luci.tosa Data 6 martie 2020 10:36:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.4 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int m=1999999973;

long long n,p;

long long exp(long long n, long long p) {
    long long sol=1;
    for(int i=0; (1<<i)<=p;i++) {
        if((1<<i) & p)
            sol=(sol*n)%m;
        n=(n*n)%m;
    }
    return sol;
}
int main()
{
    fin>>n>>p;
    fout<<exp(n,p)%m;
    return 0;
}