Cod sursa(job #1529700)

Utilizator paul1324564Alexandru Paul paul1324564 Data 21 noiembrie 2015 10:41:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <iostream>
#include <fstream>
using namespace std;

const int m=1999999973;

long long  putere(long long n, int p)
{
    if(p==0)
        return 1;
    if(p%2!=0)
        return (n%m)*(putere(n, p-1)%m)%m;
    return putere(((n%m)*(n%m))%m, p/2)%m;

}

int main()
{

unsigned int n, p;

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

in>>n>>p;
out<<putere(n, p)%m;
return 0;
}