C# 查找第 N 个根

本文关键字:个根 查找 | 更新日期: 2023-09-27 18:30:28

我使用以下方法来计算双精度值的第 N 个根,但计算第 240 个根需要花费大量时间。我发现了牛顿方法,但无法将其实现到方法中。任何帮助将不胜感激。

static double NthRoot(double A, int N)
{
   double epsilon = 0.00001d;//
   double n = N;
   double x = A / n;
   while (Math.Abs(A-Power(x,N)) > epsilon)
   {
    x = (1.0d/n) * ((n-1)*x + (A/(Power(x, N-1))));
   }
   return x;
}

C# 查找第 N 个根

static double NthRoot(double A, int N)
{
    return Math.Pow(A, 1.0 / N);
}

来自维基百科:

在微积分中,根被视为幂的特殊情况,其中指数是分数:

'sqrt[n]{x} ',=', x^{1/n} 

您可以使用用于查找数字幂的相同函数,只需使用数字的倒数而不是数字本身。

要找到 X 的 N 个根,你可以写,

int root = Convert.ToInt32(Math.Pow(X, (1 / N));