Cod sursa(job #2226557)

Utilizator vladcainamisirVlad Cainamisir vladcainamisir Data 30 iulie 2018 12:41:56
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<cstdio>
const int MOD = 1999999973;
int main()
{
  freopen("lgput.in","r",stdin);
  freopen("lgput.out","w",stdout);
  long long n , p;
  long long rez = 1;
  scanf("%lld%lld",&n,&p);
  long long inm = n;
  for(long long i = 0 ; (1 << i) <= p ; i ++)
  {
    if(( (1 << i) & p) > 0)
    {
      rez = (rez * inm) % MOD;
    }
    inm = (inm * inm) % MOD;
  }
  printf("%lld",rez);
return 0;
}