35 數值的整數次方

2021-09-10 16:45:48 字數 1133 閱讀 3310

題目描述

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方

思路:1)判斷輸入的數是否正確

底=0且指數小於0

2)判斷指數是否為負

3)由指數的大小確定累乘的次數

問題是效率不高,時間複雜度o(n)

解法1:

逐個乘

class solution 

int ab***ponent=exponent;

if(exponent<0)

ab***ponent=-exponent;

double res=getpower(base,ab***ponent);//呼叫子函式

if(exponent<0)

res=1.0/res;

return res;

} public:

bool equal(double num1,double num2)//判斷乙個浮點數是否為0

public:

double getpower(double b,int e)

return result;}};

解法2:

使用公式

時間複雜度o(logn)

class solution 

int ab***ponent=exponent;

if(exponent<0)

ab***ponent=-exponent;

double res=getpower(base,ab***ponent);//呼叫子函式

if(exponent<0)

res=1.0/res;

return res;

} public:

bool equal(double num1,double num2)//判斷乙個浮點數是否為0

public:

double getpower(double b,int e)

};

呼叫過程舉例: 

參考:

數值整數次方

題目 實現函式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,如果...