例子:求 1 + 2X + 3X的平方
分解为 :1 + X*( 2 + X * (3 )) 无论有几阶,类似这样分解。
计算过程,初始为0 ,*X ,+最高阶系数, 得到的值循环,* X, +次高阶系数,如此往复
#include
#define MAXN 10
double f( int n, double a[], double x );
int main()
{
int n, i;
double a[MAXN], x;
scanf("%d %lf", &n, &x);
for ( i=0; i<=n; i++ )
scanf("%lf", &a[i]);
printf("%.1f\n", f(n, a, x));
return 0;
}
/* 你的代码将被嵌在这里 */
double f( int n, double a[], double x )
{
double add = 0;
for(int i = n; i > -1; i--)
{
add = add * x + a[i];
}
return add;
}