题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
注:本系列全部在牛客网上进行在线测试通过,并且在VS2015上编译通过;
思路解析:
本题还是属于easy 类题,主要需要考虑几个特殊情况:
- base为0的情况
- exponent为0情况
- exponent小于0
等三种情况。
代码如下所示:
#include<iostream>
using namespace std;
class Solution {
public:
double Power(double base, int exponent) {
double result = base;
if (base == 0) return 0;
if (exponent == 0) return 1;
if (exponent < 0) {
for (int i = 0; i < (-exponent) - 1; i++)
result = result * base;
return 1.0 / result;
}
if (exponent > 0) {
for (int i = 0; i < exponent - 1; i++)
result = result * base;
return result;
}
return 0;
}
};
int main(int argc,char** argv) {
Solution test;
cout << "Result:" << test.Power(3, 3) << endl;
system("pause");
return 0;
}
结果如下所示: