Вычислить с помощью рекурсивной функции сумму многочлена 10-й степени по формуле Горнера, где х - вещественное число, вводимое пользователем: 10х^10+9x^9+8x^8+...+2x^2+x=((...((10x+9)x+8)x+...+2)x+1)x Язык программирование - С++
Вычислить с помощью рекурсивной функции сумму многочлена 10-й степени по формуле Горнера, где х - вещественное число, вводимое пользователем:
10х^10+9x^9+8x^8+...+2x^2+x=((...((10x+9)x+8)x+...+2)x+1)x
Язык программирование - С++
Ответ(ы) на вопрос:
Гость
#include
using namespace std;
double val, p;
//вводимые параметры значения функции и степень полинома
//x - значение функции
//res - значение, которое изменяется в процессе рекурсии по схеме Горнера
//s - рассматриваемая текущая степень x
double rec(double x, double res, double s)
{
if (s == 0.0)
return res;
return rec(x, x * res + s - 1, s - 1);
}
int main(){
cin >> val >> p;
//старший коэффициент в схеме Горнера сначала сносится вниз,
//поэтому его передаем в качестве начального параметра для результата
cout << fixed << rec(val, p, p) << endl;
return 0;
}
Не нашли ответ?
Похожие вопросы