Cod sursa(job #2272175)

Utilizator alex_bb8Banilean Alexandru-Ioan alex_bb8 Data 29 octombrie 2018 19:40:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>

using namespace std;

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

const int m=1999999973;

long long lgp(long long n,long long p)
{
 if(p==0) return 1;
 else if(p==1) return n%m;
 else if(p%2==0) return lgp((n*n)%m,p/2)%m;
 else if(p%2==1) return (n%m)*lgp((n*n)%m,(p-1)/2)%m;
}

int main()
{
    unsigned long long n,p;
    f>>n>>p;
    g<<lgp(n,p)%m;
    return 0;
}