Cod sursa(job #1425605)

Utilizator DobosDobos Paul Dobos Data 27 aprilie 2015 19:46:50
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>

using namespace std;

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

typedef unsigned long long var;

const int mod = 1999999973;

var n;

var lgput(int p)
{
    if(p <= 1)
    {
        return n;
    }
    var d = lgput(p / 2);
    d = d * d % mod;
    if(p % 2 == 1)
    {
        d = d * n % mod;
    }
    return d % mod;
}

int main()
{
   var p;
   f >> n >> p;
   g << lgput(p);
   return 0;
}