Cod sursa(job #2161221)

Utilizator danhorea2010Horica danhorea2010 Data 11 martie 2018 16:12:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
using namespace std;

const int m = 1999999973; // ??

const char infile[] = "lgput.in";
const char outfile[] = "lgput.out";

ifstream in(infile);
ofstream out(outfile);

int main()
{
  unsigned int n,p,i;
  long long a,sol=1;
  in>>n>>p;
  a = n;
  for(i = 0; (1<<i) <= p ; ++i)
  {
    if(((1<<i) & p) > 0 )
      sol = (sol * a) % m;

      a = (a*a) % m;
  }
  out<<sol;


  return 0;
}