题目描述
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。
示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000
示例 2:
输入:x = 2.10000, n = 3
输出:9.26100
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/powx-n
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
C++
class Solution {
/*
考虑x和n的符号
使用折半计算,每次把n缩小一半,这样n最终会缩小到0,任何数的0次方都为1,;
n有可能为负数,对于n是负数的情况,我们可以先用其绝对值计算出一个结果再取其倒数即可。
i初始化为n,然后看i是否是偶数,是的话x乘以自己,
否则res乘以x,i每次循环缩小一半,直到为0停止循环。
不好理解,举例: x=3;n=9; 9是奇数, 3^9=3^8*3; 3^8