Cod sursa(job #1464511)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 23 iulie 2015 18:26:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
#define mod 1999999973
using namespace std;
long long ridic_la_putere(long long baza,long long exp){
    long long rez=1;
    while(exp!=0)
        if(exp%2==1){
            rez=rez*baza;
            exp--;
            rez%=mod;
        }
        else{
            baza=baza*baza;
            baza%=mod;
            exp/=2;
        }
    return rez;
}
int main(){
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    long long n,p;
    scanf("%lld%lld",&n,&p);
    printf("%lld",ridic_la_putere(n,p));
    return 0;
}