Cod sursa(job #1541909)

Utilizator robertstrecheStreche Robert robertstreche Data 4 decembrie 2015 18:00:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>

#define MOD 1999999973

using namespace std;

int n,p;

int ridicare_log(int n,int p){
   int aux=1;

   while (p){
    if (p&1)aux=(1LL*aux*n)%MOD;

    n=(1LL*n*n)%MOD;
    p>>=1;
   }
   return aux;
}
int main()
{
  freopen("lgput.in","r",stdin);
  freopen("lgput.out","w",stdout);

  scanf("%d %d\n",&n,&p);

  printf("%d",ridicare_log(n,p));

  fclose(stdin);
  fclose(stdout);
}