Cod sursa(job #779290)

Utilizator visanrVisan Radu visanr Data 17 august 2012 13:35:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
using namespace std;

#define MOD 1999999973
#define ll long long

ll A, B;

ll lgput(ll N, ll P)
{
      if(!P) return 1;
      if(P & 1) return (N * lgput(N, P - 1)) % MOD;
      ll X = lgput(N, P >> 1);
      return (X * X) % MOD;
}

int main()
{
    ifstream in("lgput.in");
    ofstream out("lgput.out");
    in >> A >> B;
    out << lgput(A, B);
    in.close();
    out.close();
    return 0;
}