Cod sursa(job #1908044)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 6 martie 2017 22:24:30
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long  a, p, 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()
{
  fin>>a>>p;
  c=1999999973;
  a=a%c;
  fout<<ridic(p);
    return 0;
}