Cod sursa(job #492748)

Utilizator cristian9Cristian Zloteanu cristian9 Data 15 octombrie 2010 18:56:42
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <stdio.h>

int main(){
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

    long n, p, sol=1, c=1999999973;

    scanf("%ld %ld", &n, &p);

    while(p){
        if(p%2==1){
            sol*=n;
            sol%=c;
        }
        n*=n;
        n%=c;
        p/=2;
    }

    printf("%ld\n",sol);
    return 0;
}