首页 > 技术文章 > 50. Pow(x, n)

TaoR320 2019-06-10 22:51 原文

实现 pow(x, n) ,即计算 x 的 n 次幂函数。

示例 1:

输入: 2.00000, 10
输出: 1024.00000

示例 2:

输入: 2.10000, 3
输出: 9.26100

示例 3:

输入: 2.00000, -2
输出: 0.25000

解释: 2-2 = 1/22 = 1/4 = 0.25
说明:

  • -100.0 < x < 100.0
  • n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。

来源:力扣(LeetCode)50. Pow(x, n)
链接:https://leetcode-cn.com/problems/powx-n

double myPow(double x, long n)
{
	unsigned int z = (n>=0 ? n : -n);
	
	for(double tmp = 1; ;x *= x)
	{
		if((z&1) != 0)
		{
			tmp *= x;
		}
		if((z>>=1) == 0)
		{
			return n>=0 ? tmp : 1.0/tmp;
		}
	}
}

 

推荐阅读