Implement pow(x, n).
#include<stdio.h>
double ipow(double x, int n) {
if(n == 0) return 1;
double data = ipow(x, n / 2);
if(n % 2 == 0) return data * data;
else return data * data * x;
}
double pow(double x, int n) {
int flag = 0;
double data = 1.0;
if(n == 0) return 1;
if(n < 0) {
flag = 1;
n = 0 - n;
}
data = ipow(x, n);
if(flag == 1) data = 1.0 / data;
return data;
}
void main() {
printf("%f\n", pow(2, 4));
}