Cod sursa(job #658788)

Utilizator danutbodbodnariuc danut danutbod Data 9 ianuarie 2012 16:22:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
unsigned long long  a,y,c;
unsigned long long  ridic(long long  b)
{
    if (b==1) return a;
    if (b%2==0) return (ridic(b/2)%c)*(ridic(b/2)%c)%c;
    if (b%2==1) return (ridic(b-1)*a)%c;
}

int main()
{
  f>>a>>y;
  c=1999999973;
  a=a%c;
  g<<ridic(y);
  f.close();g.close();
    return 0;
}