试编写算法求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…anxn的值Pn(x0),
试编写算法求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…anxn的值Pn(x0),并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可...
试编写算法求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…anxn的值Pn(x0),并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能的小,规定算法中不能使用求幂函数。注意:本题中的输入ai(i=0,1,…,n), x和n,输出为Pn(x0).通常算法的输入和输出可采用下列两种方式之一:
(1)通过参数表中的参数显式传递; (2)通过全局变量隐式传递。
将两种方式的算法写给我,谢谢 展开
(1)通过参数表中的参数显式传递; (2)通过全局变量隐式传递。
将两种方式的算法写给我,谢谢 展开
3个回答
展开全部
// 下面是参数显式传递法计算多项式的值,全局变量的隐式传递留给你了。
#include <stdio.h>
const int MAXSIZE = 60; // 多项式项数
double fx(double an[], double x,int n) {
double Fnx = 0;
while(--n >= 0) Fnx = Fnx * x + an[n];
return Fnx;
}
int main() {
int n = 0;
double x,an[MAXSIZE];
printf("输入多项式系数('q' to finish):");
while(scanf("%lf",&an[n]) == 1 && n < MAXSIZE) {
++n;
printf("输入多项式系数('q' to finish):");
}
fflush(stdin);
printf("x = ");
scanf("%lf",&x);
printf("f(%lf) = %lf\n",x,fx(an,x,n));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询