时间限制:1秒 空间限制:32768K 热度指数:314398
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
思路:首先思考平时数字的计算次方的方法,对于一个数字的0次方,值是1,一个数字的1次方,是它本身。所以先把这两个特殊的编写出来。其次思考当正数的2次方,是本身乘以本身,其后到3次方,是在2次方的基础上乘以本身,所以想到了递归的方式,对于负数,只是每次乘以数字分之一。
class Solution {
public:
double Power(double base, int exponent) {
if(exponent==0)
return 1;
if(exponent==1)
return base;
double temp;
if(exponent>1)
{
temp=base*Power(base,exponent-1);
}
if(exponent<0)
{
temp=(1/base)*Power(base,exponent+1);
}
return temp;
}
};