目录
频道首页
算法进修——力扣0050 Pow(x,n)
收藏
0
Aubyn 最近修改于 2023-11-13 03:15:03

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;
    }
}
内容大纲
批注笔记
算法进修——力扣0050 Pow(x,n)
ArticleBot
z
z
z
z
主页
会议室
Git管理
文章
云文档
看板