1. 程式人生 > >霍納規則解決多項式的求值問題

霍納規則解決多項式的求值問題

樸素 std ++ amp 轉化 乘法 bsp res include

霍納規則用來簡化樸素多項式的求值。它將一元n次多項式的求值問題轉化為n個一次式。

霍納規則是采用最少的乘法運算策略,求多項式A(x) = anxn+ an-1xn-1+...+ a1x + a0在x0處的值,該規則是A(x0)=(...((anx0+ an-1)x0+...+ a1)x0+ a0)

 1 #include<stdio.h>
 2 
 3 int horner(int a[], int x, int n);
 4  
 5 int main()
 6 {
 7     int n;
 8     scanf("%d", &n);
 9     
10     int a[n + 1
]; 11 int x; 12 for(int i = 0; i <= n; i++){ 13 scanf("%d", &a[i]); 14 } 15 16 scanf("%d", &x); 17 printf("%d", horner(a, x, n)); 18 19 return 0; 20 } 21 22 int horner(int a[], int x, int n) 23 { 24 int i = n; 25 int result = x; 26 while
(i > 0){ 27 result = a[i] + result * x; 28 i--; 29 } 30 31 return result; 32 }

霍納規則解決多項式的求值問題