频道首页
目录
算法进修——力扣0050 Pow(x,n)
收藏
0
Pow(x,n)
难度:中等
题目描述
实现 pow(x, n) ,即计算 x
的整数 n
次幂函数(即,xn
^^)。
示例1
输入:x = 2.00000, n = 10 输出:1024.00000
示例2
输入:x = 2.10000, n = 3 输出:9.26100
示例3
输入:x = 2.00000, n = -2 输出:0.25000
题解
将一个数 x 的 n 次方拆分成多个数的乘积,其中这些数可以通过对 x 的平方递归得到。
想法代码
class Solution
{
public static void Main(String[] args)
{
double x = 2.1;
int n = 3;
Solution solution = new Solution();
double res = solution.MyPow(x, n);
Console.WriteLine(res);
}
public double MyPow(double x, int n)
{
if (n == 0)
{
return 1;
}
double s = 1;
for (int i = n; i != 0; i /= 2)
{
if (i % 2 != 0)
{
s *= x;
}
x *= x;
}
if (n < 0)
{
return 1 / s;
}
return s;
}
}
主页
会议室
Git管理
文章
云文档
看板