劍指offer 面試題11 數值的整數次方

2021-07-27 20:43:43 字數 958 閱讀 3023

首先,我們分析下可能出現的情況:指數可能為負值,我們先求指數的絕對值次方,然後求導。->求導,那就要考慮分母不為0的情況了。

bool g_invalidinput = false;

double power(double

base, int exponent)

unsigned int ab***ponent = (unsigned int)(exponent);

if (exponent < 0)

double result = powerwithunsignedexponent(base, ab***ponent);

if (exponent < 0)

return result;

}double powerwithunsignedexponent(double

base, unsigned ab***ponent)

return result;

}bool equal(double num1, double num2)

return

false;

}

第二種方法:

a^n

當n為偶數時,a^n=a^(n/2);

當n為奇數時,a^n=a^((n-1)/2)*a^((n-1)/2)*a;

double powerwithunsignedexponent(double

base, unsigned ab***ponent)

if (ab***ponent == 1)

double result = powerwithunsignedexponent(base, ab***ponent >> 1);

result *= result;

if (ab***ponent & 0x1)

return result;

}

劍指offer面試題11

面試題1 數值的整數的次方 題目 實現函式double power double base,int exponent 求base的 exponent次方。不得使用庫函式,同時不需要考慮大數問題。思路 首先應該明確指數的可能取值 正整數,0,負整數 另外還需要考慮底數是0的情形。對於負整指數,我們可以...

劍指Offer 面試題11 數值的整數次方

實現double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。分析 源 如下 includeusing std cout using std cin using std endl class throwerr...

劍指offer 面試題11 數值的整數次方

題目 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方 class solution int powerresult double base,unsigned int exponent double result 1.0 for int i...