Cod sursa(job #2400998)

Utilizator bilghinIsleam Bilghin bilghin Data 9 aprilie 2019 12:39:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

FILE* si=fopen("lgput.in","r");
FILE* so=fopen("lgput.out","w");

long long f(long long n,long long p){
long long m=1;
while(p>1){
    if(p>1){
        if(p%2==0){
            n*=n;
        }
    }
    else{
        n*=n;
        m*=n;
    }
    n%=1999999973;
    m%=1999999973;
    p/=2;
}
return m*n%1999999973;
}

int main(){

long long n,p;

fscanf(si,"%lld%lld",&n,&p);
fprintf(so,"%lld",f(n,p));
fclose(si);
fclose(so);

return 0;
}