Cod sursa(job #1753218)

Utilizator alexandrionUNIBUC Marcu Alexandru alexandrion Data 6 septembrie 2016 10:08:07
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#include <fstream>

#define   m 1999999973
using namespace std;

long long putere (long long   a , long long  b)
{  if ( b==0)
return 1;
if(b==1)
return a;
 if (b&1)
    return ((putere(a,b/2)%m)%m*(putere(a,b/2)%m)%m*putere(a,1))%m;
    return ((putere(a,b/2)%m)%m*(putere(a,b/2)%m)%m)%m;
}


int main()
{
  ifstream f("lgput.in");
  ofstream g("lgput.out");
  long long n , p ;
  f>>n;
  f>>p;
  g<<putere(n,p)%m;
    return 0;
}