Cod sursa(job #2509424)

Utilizator romanovadi44Romanov Adrian romanovadi44 Data 14 decembrie 2019 10:57:21
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long mod=1999999973;
long long n,p;

long long putere(long long p)
{
    long long r;

    if(p==0) return 1;
    else if(p%2==0) {r=putere(p/2)%mod; return (r*r)%mod;}
    else return (n*putere(p-1))%mod;


}

int main()
{
    fin>>n>>p;
    fout<<putere(p);

    return 0;
}