Cod sursa(job #1590110)

Utilizator mihai2003LLL LLL mihai2003 Data 4 februarie 2016 18:43:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
#include <stdlib.h>
#define MOD 1999999973
int powr(long long base, int expn)
{
    long long res = 1;
    while (expn>0){
        if(expn%2!=0)
            res=(res*base)%MOD;

        base=(base*base)%MOD;
        expn/=2;
    }
    return res%MOD;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long int base ,expn;
    scanf("%lld %lld",&base,&expn);
    printf("%d",powr(base,expn));
    return 0;
}