Cod sursa(job #892304)
Utilizator | Data | 26 februarie 2013 00:26:58 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.31 kb |
#include<stdio.h>
#define RTT 1999999973
FILE *f=fopen("lgput.in","r"), *g=fopen("lgput.out","w");
long long int N, P, r=1;
int main(){
fscanf(f,"%lld %lld",&N,&P);
while(P>0){
if(P%2==1){r=(r*N)%RTT;}
N=(N*N)%RTT;
P/=2;
}
fprintf(g,"%lld",r);
return 0;
}