Cod sursa(job #497623)
| Utilizator | Data | 2 noiembrie 2010 22:34:27 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include "stdio.h"
unsigned int lgput(unsigned int x, unsigned int n){
if(n==0){
return 1;
}
if(n%2){
return x*(lgput(x,(n-1)/2))*(lgput(x,(n-1)/2))%1999999973;
}
else{
return (lgput(x,n/2))*(lgput(x,n/2))%1999999973;
}
}
int main(){
unsigned int a,b;
FILE *f,*g;
f = fopen("lgput.in","r");
g = fopen("lgput.out","w");
fscanf(f,"%d %d",&a,&b);
fprintf(g,"%d",lgput(a,b));
return 0;
}