Cod sursa(job #3221341)

Utilizator InformaticianInDevenire1Munteanu Mihnea Gabriel InformaticianInDevenire1 Data 6 aprilie 2024 20:02:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

long long MOD = 1999999973;

long long Exp(long long n,long long p){
    long long ans = 1;
    while (p>0){
        if (p%2==0){
            n = (n*n)%MOD;
            p = p/2;
        }else{
            ans = (ans*n)%MOD;
            n = (n*n)%MOD;
            p = (p-1)/2;
        }
    }
    return ans;
}

int main()
{
    long long n,p;
    fin >> n >> p;
    fout << Exp(n,p);
    return 0;
}