题目描述:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
题解:
class Solution {
public:
double Power(double base, int exponent)
{
if(exponent == 0)
return 1.0;
if(exponent == 1)
return base;
if(exponent == -1)
return 1/base;
double half = Power(base, exponent/2);
double rest = Power(base,exponent%2);
return half*half*rest;
}
};
解题思路:
递归,每次分治,减少乘法运算的次数。