数值的整数次方

来源:互联网 发布:flask mysql 编辑:程序博客网 时间:2024/05/18 19:20

题目描述:实现函数double Power(double base,int exponment),求base的exponment次方,不得使用库函数,不需要考虑大数问题。

题目分析:


代码分析:

#include<iostream>using namespace std;bool equal(double base,double num)//double类型数字的比较{if((base - num >-0.0000001) && (base - num < 0.0000001)){return true;}else{return false;}}double Power(double base,int exponment){if(equal(base,0.0)) //底数为0,则结果为0{return 0;}if(exponment == 0)//指数为1,则结果为1{return 1;}bool flag = false;double result = 1.0;if(exponment < 0)//指数是负数{flag = true;}int exp = abs(exponment);for(int i=1;i<=exp;++i){result *= base;}if(flag){result = 1.0/result;}return result;}int main(){cout<<Power(-2.5,-3)<<endl;cout<<Power(0,-2)<<endl;cout<<Power(2.5,-2)<<endl;cout<<Power(-2.5,0)<<endl;cout<<Power(0,0)<<endl;cout<<Power(2.5,0)<<endl;cout<<Power(-2.5,2)<<endl;cout<<Power(1,2)<<endl;cout<<Power(2.5,2)<<endl;return 0;}