Cod sursa(job #614513)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 6 octombrie 2011 19:10:36
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>
#define m 1999999973
long long x;

long long pow(long long y){
    if(y==1)return x; else
    if(y%2==0){
        long long z;
        z=pow(y/2);
        return (z*z)%m; } else {
        long long z;
        z=pow(y/2);
        return (z*z)%m*x%m; };
}

int main(){
    long long y;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
        scanf("%lld%lld",&x,&y);
        printf("%lld\n",pow(y));
}