如何在没有 math.pow c# 的情况下计算功率



我是 C# 新手我需要帮助来填写以下方法:

静态双倍 ToPower(double x, int n({

将数字 x 提高到整数幂 n(即计算值 xn(。请记住,x-n = 1/xn,x0 = 1。我可以使用循环或递归,有人可以帮助解决这个问题。

使用循环,您可以执行以下操作:

public double Pow(double num, int pow)
{
    double result = 1;
    if (pow > 0)
    {
        for (int i = 1; i <= pow; ++i)
        {
            result *= num;
        }
    }
    else if (pow < 0)
    {
        for (int i = -1; i >= pow; --i)
        {
            result /= num;
        }
    }
    return result;
}

使用枚举,您可以执行以下操作:

using System.Collections;
using System.Collections.Generic;

public double Pow(double num, int pow)
{
    var sequence = Enumerable.Repeat(num, pow);
    if (pow > 0)
    {
        return sequence.Aggregate(1, (accumulate, current) => accumulate * current);
    }
    else if (pow < 0)
    {
        return sequence.Aggregate(1, (accumulate, current) => accumulate / current);
    }
    else
    {
        return 1;
    }
}

相关内容

最新更新