Дано вещественное целое число x, целое n, n>0. Найти значение многочлена n-й степени P(x) в точке x по схеме Горнера: P(x)=a[n]*x^n+a[n-1]*x^(n-1)+..+a[1]*x+a[0]=((..(a[n]*x+a[n-1])*x+..)*x+a[1])*x+a[0] Значения коэффициентов a[i]=2^i (i=0,1,2,..,n)- C++(Си)
//Дано вещественное целое число x, целое n, n > 0.
//Найти значение многочлена n-й степени P(x) в точке x по схеме Горнера:
//P(x)=a[n]*x^n+a[n-1]*x^(n-1)+..+a[1]*x+a[0]=((..(a[n]*x+a[n-1])*x+..)*x+a[1])*x+a[0]
//Значения коэффициентов a[i]=2^i (i=0,1,2,..,n).
#include <iostream>
double gorner(int n, double x)
{
return !n-- ? 1 : 1 + 2 * x * gorner(n, x);
}
int main()
{
std::locale::global(std::locale(""));
int n;
for(;;)
{
do
{
std::cout << "Введите степень многочлена: ";
std::cin >> n;
}while(n < 0);
std::cout << "Введите значение x: ";
double x;
std::cin >> x;
std::cout << "Ответ: "
<< gorner(n, x)
<< std::endl
<< std::endl;
}//for(;;)
return 0;
}