Чтобы оценить это, вы можете просто сложить значения мощности с коэффициентами. Используя LINQ, это одна строка:
double result = arr.Select((c,i) => c * Math.Pow(x, i)).Sum();
Здесь i
- индекс вашего массива, он начинается с нуля, поэтому x^0 = 1 * 12 == 12
et c.
Вы также можете сделать это без LINQ следующим образом:
List<string> debug = new List<string>();
double y = 1.0;
result = 0.0;
for (int i = 0; i < arr.Length; i++)
{
debug.Add($"{arr[i]} * x^{i}");
result = result + arr[i] * y;
y = y * x;
}
Console.WriteLine(string.Join(" + ", debug));
Console.WriteLine(result);
Что для x = 3 выходов:
12 * x^0 + 2 * x^1 + 3 * x^2 + 4 * x^3
153
Тот же результат, что и у LINQ.