[数值算法]多项式的秦九韶算法

博客介绍了多项式的秦九韶算法,这是数值计算课程基础内容。给出了递归和非递归两个版本的代码实现,并提供了测试程序,通过具体数组和数值进行计算并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多项式的秦九韶算法,一般数值计算一类课程的”Hello World”级的内容哟~~~~

做了递归和非递归两个版本:

/*UnRecursive Version*/

Type qjz(Type* pArr,Type x,int n)

       {

             Type ans=0;

             asserts(pArr!=NULL,"in qjz:pass in arr error");

             asserts(n>=0,"in qjz :pass n is <0");

              n--;

              ans=pArr[n];

              while(n>0)

              {

                     n--;

                     ans=pArr[n]+x*ans;

              }

              return ans;

       }

      

/*Recursive Version*/

Type qjzRecursive(Type* pArr,Type x,int n,int currentNum)

       {

           asserts(pArr!=NULL,"in qjzRecursive:pass in arr error");

              if(currentNum+1==n)return pArr[currentNum];

              else return pArr[currentNum]+x*qjzRecursive(pArr,x,n,currentNum+1);

       }

      

/*test program*/      

#include "qjz.h"

#include <stdio.h>

#include <string.h>

void main()

{

      

       double a[]={1,2,3,4,5};

       double x=11;

       double ans=qjz(a,x,5);

       clrscr();

       printf("The answer is:%f",ans);

       ans=qjzRecursive(a,x,5,0);

       printf("Using the Recursive,ans is:%f",qjzRecursive(a,x,5,0));

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值