我是 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;
}
}