描述
实现函数 double Power(double base, int exponent),求base的exponent次方。
注意:
1.保证base和exponent不同时为0。
2.不得使用库函数,同时不需要考虑大数问题
3.有特殊判题,不用考虑小数点后面0的位数。
示例
输入:
2.00000,3
返回值:
8.00000
思路👇👇
既然是求次方,我们🉑做不断累乘就🉑以了,重点是处理负的次方数,因为x的负次方等于,(1/x)的n 次方,因为我们将底数转换为相应的分数,就可以将次方数变回正数。
if(exponent<0){
base=1/base;
exponent=-exponent;
}
具体做法:
1.先处理次方数为负数的情况,将底数化为分数解决。
2.遍历次方数的次数,不断累乘底数。
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param base double浮点型
* @param exponent int整型
* @return double浮点型
*/
double Power(double base, int exponent ) {
// write code here
//处理负数次方
if(exponent<0){
base=1/base;
exponent=-exponent;
}
//累乘
double ret=1.0;
for(int i=0;i<exponent;i++){
ret=ret*base;
}
return ret;
}
总结✨✨
有思路的,有方法的分析问题🏃♂️🏃♂️