算法题(74):Pow(x,n)
审题:
需要我们计算出x(double类型)的n次幂,并返回
思路:
方法一:递归(1)首先我们的n分为正和负,对于负的我们需要将n转为正的进行运算后,用1.0除以运算结果得出答案
即计算完n次幂后最终的返回需要分两种情况
(2)然后我们思考如何写计算n次幂的函数
观察发现x的n次幂分两种最终情况
其一:n为偶数,可以先计算n/2次幂的值,然后将n/2次幂的值平方
其二:n为奇数,同样是先计算n/2次幂的值,然后将n/2次幂的值平方,不过因为n为奇数,所以我们还要再乘一次x
解题:
注意:
(1)终止条件是N==0,因为任何数的0次方都是1
(2)count用long long 类型的原因:因为当n是负数的时候可以最小为-2^31,但是我们要转换成正的计算,此时若为整形数据,2^31次方是无法存下的,因为整形的最大值为2^31-1
50. Pow(x, n) - 力扣(LeetCode)