Cod sursa(job #2756006)

Utilizator Iordache_CezarIordache Cezar Iordache_Cezar Data 29 mai 2021 07:54:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#define MOD 1999999973

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

long long n, p;

int expo (long long n, long long p);

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

int expo (long long n, long long p)
{
    long long rez;
    if (p == 0)
        return 1;
    rez = expo(n, p/2);
    rez = (rez * rez) % MOD;
    if (p % 2)
        rez = (rez * n) % MOD;
    return rez;
}