给定多项式
求多项式在处的值, 可用Horner规则。
,
Horner规则使多项式求值所需乘法次数最少。写出用Horner规则求值的C程序。
//
// main.c
// horner
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 11
int horner(int [], int n, int x);
int main(void)
{
int i, n, x;
int list[n];
printf("Please enter x0: ");
scanf("%d", &x);
getchar();
printf("enter the number of numbers to generate: ");
scanf("%d", &n);
if (n < 1 || n > MAX_SIZE){
printf("Improper value /n");
exit(EXIT_FAILURE);
}
printf("the sequence of A is:\n");
for (i = 0; i < n; i ++){
list[i] = rand() % 10;
printf("%d ", list[i]);
}
//printf("\n %d", value);
printf("\n Value is: %d \n ", horner(list, n, x));
}
int horner(int list[], int n, int x)
{
int i, value;
value = list[n-1];
for (i = n-1; i >0; i--){
//printf("\n %d, %d , %d, %d", list[i], n, x, value);
value = x * value + list[i-1];
}
return value;
}