Cod sursa(job #1372074)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 4 martie 2015 11:18:38
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>
using namespace std;
int a, b, c;

int putere(int x, int y){
    if(y==1)
        return x;
    int z=putere(x, y/2);
    z=(1LL*z*z)%c;
    if(y%2==0)
        return z;
    return (1LL*x*z)%c;
}

int main(){
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    c=1999999973;
    scanf("%d %d", &a, &b);
    printf("%d\n", putere(a, b));
    return 0;
}