Cod sursa(job #2481650)

Utilizator adelinacazacuAdelina Cazacu adelinacazacu Data 27 octombrie 2019 10:41:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973

using namespace std;

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

long long lgput (long long n, long long p)
{
    if (p==0) return 1;
    if (p==1) return n%MOD;
    if (p%2==0) return lgput((n*n)%MOD, p/2);
    if (p%2!=0) return (n*lgput((n*n)%MOD, (p-1)/2))%MOD;
}

int main()
{
    long long n, p;
    fin >> n >> p;

    fout << lgput(n, p);

    return 0;
}