Cod sursa(job #380101)
Utilizator | Data | 4 ianuarie 2010 20:35:19 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include <stdio.h>
long long sol,p,n,mod;
int main(){
FILE *f,*g;
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
fscanf(f,"%lld%lld",&n,&p);
mod=1999999973;
sol=1;
while(p){
if(p%2==1){
sol*=n;
sol%=mod;
}
n*=n;
n%=mod;
p/=2;
}
fprintf(g,"%lld\n",sol);
fclose(f);
fclose(g);
return 0;
}