利用霍纳规则求多项式的值(递归)

  7 #include <stdio.h>
  8 #include <stdlib.h>
  9 #define LEN 3
 10 int hornor(int [],int,int);
 11 int main()
 12 {
 13     int a[3]={1,2,3};//数组表示多项式的系数
 14     int x=2;//多项式的自变量值
 15     int result=0;//存放结果
 16     result = hornor(a,0,2);
 17     printf("%d\n",result);
 18     exit(0);
 19 }
 20 
 21 int hornor(int list[],int n,int x)
 22 //利用递归实现霍纳规则
 23 {
 24     if(n == LEN-1)
 25     {
 26         return list[LEN-1];//递归出口
 27     }
 28     else
 29     {                                                                                                        
 30         return hornor(list,n+1,x)*x+list[n];//递归过程
 31     }
 32 }
利用霍纳规则的好处:使得计算多项式的值时,乘法次数最少

                                    
posted @ 2012-03-11 15:06  javaadu  阅读(150)  评论(0编辑  收藏  举报