Cod sursa(job #2032693)

Utilizator Marius7122FMI Ciltea Marian Marius7122 Data 5 octombrie 2017 16:24:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
#define ll long long

const ll mod = 1999999973;

ll p(ll x,ll n)
{
    ll rez = 1;
    ll pow = x;
    
    for(int i = 0;i<32;i++,pow=(pow*pow)%mod)
        if((1<<i) & n)
        	rez = (rez * pow) % mod;
       
    return rez;
}

ll n,x;
int main()
{
   	fscanf(fopen("lgput.in","r"),"%lld%lld",&x,&n);
    fprintf(fopen("lgput.out","w"),"%lld",p(x,n));
    return 0;
}