實現函式:double power(double base ,int exponent),求base的exponent次方,不得使用庫函式,同時不需要考慮大數問題。
c語言中有乙個pow函式可以求得數的乘方。
基本實現:
1double power(double
base,int
exponent)28
return
result;
9 }
考慮不全面的地方:1、exponent小於1(0或者負數怎麼辦?)
2、0的0次方是幾?(數學上未曾明確的定義1 or 0都可以)
3、效率是否很高?
1 #include2using
namespace
std;
3bool invalidinput = false;4
bool equals(double num1, double
num2)510
double powernormal(double
base, unsigned int
exponnent)
1117
return
result;18}
19double power(double
base, int
exponent)
2026 unsigned int normalexponent = (unsigned int
)(exponent);
27if (exponent < 0)28
31double result=powernormal(base
, normalexponent);
32if (exponent < -1)35
return
result;36}
37int
main()
38
更高效的power函式
1double powerunsignedexponent(double
base, unsigned int
exponent)
2
posted @
2016-04-22 23:57
general_up 閱讀(
...)
編輯收藏
數值整數次方
題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...
數值整數次方
題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...
數值的整數次方
題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大樹問題。這道題目有以下幾點需要注意 0的0次方是無意義的,非法輸入 0的負數次方相當於0作為除數,也是無意義的,非法輸入 base如果非0,如果...