почему программа считает не правильно
Почему на выходе я получаю значение 0.394118, хотя программа должна вывести число 0.770722
#include <iostream>
#include <cmath>
int main()
{
int n = 3;
int xArr[] = {2,3,4};
double funX[n];
double a = 2.5;
double sum = 0;
double sumFirst = 1;
double sumSecond = 1;
for (int i = 0; i < n; i++)
{
funX[i] = pow(log(xArr[i]), 13.0 / 4.0);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (i != j)
{
sumFirst *= (a - xArr[j]);
sumSecond *= xArr[i] - xArr[j];
}
}
sum += (sumFirst / sumSecond) * funX[i];
}
std::cout << "Значение полинома Лагранжа: " << sum << std::endl;
return 0;
}
Источник: Stack Overflow на русском