Cod sursa(job #2418691)

Utilizator MortemPlaiasu Iulia-Silvia Mortem Data 5 mai 2019 20:03:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <iostream>
#define modu 1999999973
FILE * fin= fopen("lgput.in","r");
FILE * fout= fopen("lgput.out","w");

long long n,p;

int main()
{
  fscanf(fin,"%lld %lld",&n,&p);
  long long pown=n;
  long long counn=1;
  long long pow=1;
  while(p!=0)
  {
    if( (p&counn)!=0 )
    {
      pow=(pow*pown)%modu;
      p-=counn;
    }
    counn= counn*2;
    pown=(pown*pown)%modu;
  }
  fprintf(fout,"%lld",pow);
}