study/C_C++/sources/offer/offer11.c

20 lines
341 B
C
Executable File

#include <stdio.h>
int power(double base, int expo){
if(expo <= 0) return 1;
double result;
if((expo%2) == 0){
result = power(base,expo>>1)*power(base,expo>>1);
}else{
result = power(base,(expo-1)>>1)*power(base,(expo-1)>>1)*base;
}
return result;
}
int main(){
double result = power(2,4);
printf("%f\n",result);
return 0;
}