Cod sursa(job #1291563)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 12 decembrie 2014 22:44:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>

#define mod 1999999973

using namespace std;

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

long long pow(long long x, long long p) {

      if (p == 0) return 1;
      if (p == 1) return x;
      if (p % 2 == 0) return pow((x*x)%mod, p/2)%mod;
      return (x*(pow((x*x)%mod, (p-1)/2)%mod))%mod;
}

int main() {

      long long a, b;
      f>>a>>b;
      g<<pow(a, b)<<'\n';

      f.close(); g.close();
      return 0;
}