实现sqrt与pow函数
double my_sqrt(double n){
//0.1 当传入的数值小于1 , 传入的区间没有所求的答案
double head = 0,tail = n+1.0,mid;
//设置误差区间
#define error 1e-7
while(tail - head >error){
mid = (head + tail)/2.0;
if(mid * mid < n)head = mid;
else tail = mid;
}
return head;
}
double pow(double num,int power){
//当幂为0时,返回0
if(power==0)
return 1;
//设置中间参数
double half = pow(num,power/2);
// 当幂为偶数时
if(power%2==0)
return half*half;
// 当幂为奇数时
else if(power>0)
return half * half * num;
//当幂为负数时
else
return half * half * (1/num);
}