Cod sursa(job #1909053)

Utilizator ifrimencoAlexandru Ifrimenco ifrimenco Data 7 martie 2017 11:30:55
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>
#define nn 1999999973
using namespace std;
unsigned long long lgput (int a, int b)
{
    unsigned long long p=1;
    while (b) {
      if (b%2==1)
      {
          p=(p*a)%nn;
          b--;
      }
      b=b/2;
      a=(a*a)%nn;
    }
    return p;

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