Cod sursa(job #1909063)

Utilizator ifrimencoAlexandru Ifrimenco ifrimenco Data 7 martie 2017 11:32:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <bits/stdc++.h>
#define nn 1999999973
using namespace std;
unsigned long long lgput (unsigned long long a, unsigned long long 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;
}