题目:实现函数double Power(double base,int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题。
/* 剑指offer面试题11 比较好的方法是2*2*2*2=4*4这种。 */ #include <iostream> using namespace std; double Power(double base,int exp){ double result = 1.0; if(int(base*10000000) == 0){ //一定要注意double类型的值和0进行比较相等时要小心 return 0; } if(exp == 0){ return 1; } if(exp > 0){ for(int i=1;i<=exp;i++){ result = result * base; } return result; } if(exp < 0){ for(int i=1;i<=(-exp);i++){ result = result * base; } return 1.0/result; } } int main() { double base; int exp; cin >> base >> exp; double result = Power(base,exp); cout << endl << result; return 0; }