Cod sursa(job #2936067)

Utilizator Samoila_AlexandruSamoilaAlexandru Samoila_Alexandru Data 7 noiembrie 2022 23:09:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
#define mod 1999999973

using namespace std;

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

long long putere(long long a, long long b)
{
    long long p=1;
    for(long long k=1; k<=b; k<<=1)
    {
        if((b&k))
            p=(p*a)%mod;
        a=(a*a)%mod;
    }
    return p;
}

long long n, p;

int main()
{
    fin>>n>>p;
    fin.close();

    fout<<putere(n, p);

    fout.close();
    return 0;
}