数值的整数次方
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
class Solution { public: double Power(double base, int exponent) { double result = 1; double cur = base; long long tmp_exponent = abs(exponent); //以下利用了二分的思想,降低时间复杂度 while(tmp_exponent) { if(tmp_exponent % 2 == 1) result *= cur; cur = cur * cur; tmp_exponent >>= 1; } return exponent < 0 ? 1 / result : result; } };