Cod sursa(job #1565036)

Utilizator PTAdrian64Pop-Tifrea Adrian PTAdrian64 Data 10 ianuarie 2016 12:03:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <cstdio>
#define ll long long
#define md 1999999973

using namespace std;

ll N,P;

int main(){

    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

    scanf("%lld %lld ",&N,&P);

    ll a = N,i,S = 1;
    for(i = 0;(1 << i) <= P;++i){

      if((1 << i) & P)S = (S * a) % md;
      a = (a * a) % md;

    }

    printf("%lld\n",S);

    return 0;
}