Cod sursa(job #2654739)

Utilizator stefanlupoi1Lupoi Stefan stefanlupoi1 Data 2 octombrie 2020 10:17:22
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
#define M 1999999973

using namespace std;

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

long long log_pow(unsigned int n,unsigned int p){
    if(p==0){
        return 1;
    }
    if(p%2==0){
        return (log_pow(n,p/2)%M*log_pow(n,p/2)%M)%M;
    }
    else{
        return (n%M*log_pow(n,p-1)%M)%M;
    }
}

int main()
{
    unsigned int n,p;
    in>>n>>p;
    out<<log_pow(n,p);
    return 0;
}