1. 秦九韶算法程序 为什么是print I,这有什么用啊
PRINT I 是输出当前 I 的值,
PRINT V 是输出计算结果。
2. 秦九韶算法的递推公式怎么来的,什么意思,怎么用
递推公式的概念:如果数列{an}的第n项与它前一项或几项的关系可以用一个式子来表示,那么这个公式叫做这个数列的递推公式。
递推公式:
如果一个数列的第n项an与该数列的其他一项或多项之间存在对应关系的,这个关系就称为该数列的递推公式。例如斐波纳契数列的递推公式为an=a(n-1)+a(n-2)
等差数列递推公式:an=d(n-1)+a(d为公差 a为首项)
等比数列递推公式:bn=q(n-1)*b (q为公比 b为首项)
由递推公式写出数列的方法:
1. 根据递推公式写出数列的前几项,依次代入计算即可
2.若知道的是末项,通常将所给公式整理成用后面的项表示前面的项的形式。
3. 用秦九韶算法求多项式f(x)=7x^7+6x^6+5x^5+4x^4+3x^3+2x^2+x当x=3时,v3= (v3是什么意思啊 求详解)
用秦九韶算法求多项式f(x)=7x^7+6x^6+5x^5+4x^4+3x^3+2x^2+x
当x=3时,v3= (v3是什么意思啊 求详解)
由内向外逐步算:
解:改写为 f(x) = ((((((7x+6)x + 5)x + 4)x + 3)x + 2)x + 1)x + 0
v0 = 7 v就是value(值)的意思
v1 = 7×3 + 6 = 27;
v2 = 27×3 + 5 = 86;
v3 = 86×3 + 4 = 262;
v4 = 262×3 + 3 = 789;
v5 = 789×3 + 2 = 2369;
v6 = 2369×3 + 1 = 7108;
v7 = 7108×3 + 0 = 21324.
x = 3时,多项式f(x) = 7x^7 + 6x^6 + 5x^5 + 4x^4 + 3x^3 + 2x^2 + x的值为21324.
秦九韶的算法的特点在于:通过反复计算n个一次式,逐步得到(递推式)的n次多项式的值.
需要乘法—次,加法—次,工作量比常规方法节省了一半,而且逻辑结构也较简单。
4. 在秦九韶算法中用到的一种方法是
把一个n次多项式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改写成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多项式的值时,首先计算最内层括号内一次多项式的值,即
v[1]=a[n]x+a[n-1]
然后由内向外逐层计算一次多项式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值。
(注:中括号里的数表示下标)
上述方法称为秦九韶算法。直到今天,这种算法仍是多项式求值比较先进的算法
f(x)=
2x5-5x4-4x3+3x2-6x+7
=((((2x-5)x-4)x+3)x-6)x+7
5. 用秦九韶算法求解时,乘方要算几次
秦九韶算法
秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法。在西方被称作霍纳算法(Horner
algorithm或Horner
scheme),是以英国数学家威廉·乔治·霍纳命名的.
把一个n次多项式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改写成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多项式的值时,首先计算最内层括号内一次多项式的值,即
v[1]=a[n]x+a[n-1]
然后由内向外逐层计算一次多项式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值。
(注:中括号里的数表示下标)
结论:对于一个n次多项式,至多做n次乘法和n次加法。
乘方是N=2,最多算两次。
6. “秦九韶算法”是个啥,这个式子怎么画,为什么是五次乘法
6x^5-4x^4+x³-2x²-9x=x(6x^4-4x³+x²-2x-9)=x(x(6x³-4x²+x-2)-9)=x(x(x(6x²-4x+1)-2)-9)=x(x(x(x(6x-4)+1)-2)-9)
数一数就看出来有5个乘法,4个加法,用手机打出来的,如果不容易看出,你就把式子在草稿纸上抄下来看一看。
秦九韶算法是高中还是初中的?就是把多项式依次提出来一个x,最后从最里面的括号往外计算
7. 用C语言编程实现秦九韶
/*修改n,n代表f(x)为n次多项式*/
#define n 5/*暂且设定为5*/
#include<stdio.h>
void main()
{
float a[n],x,sum;
int i;
printf("Please input the value of x=");
scanf("%f",&x);
for(i=n;i>=0;i--)
{
printf("Please input the value of a%d=",i);
scanf("%f",&a[i]);
}
sum=a[n];
for(i=n;i>=1;i--)
{
sum=sum*x+a[i-1];
}
printf("f(x)=%f\n",sum);
}
/*互相学习哈*/
8. 求用秦九韶算法求多项式的程序
秦九韶算法
1.教学任务分析
(1)在学习中国古代数学中的算法案例的同(2)时,进一步体会算法的特点。(3)体会中国古代数学对世界数学发展的贡献。
2. 重点与难点重点:理解秦九韶算法的思想。难点:用循环结构表示算法步骤。
3.教学情境设计 (1) 设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序。
学生提出一般的解决方案,如:
x=5 f=2 * x^5 – 5 * x^4 – 4 * x^3 + 3 * x^2 – 6 * x + 7
PRINT“f=”;fEND
教师点评:上述算法一共做了解15次乘法运算,5次加法运算,优点是简单,易懂。缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高。
(2)有没有更高效的算法?
师:计算x的幂时,可以利用前面的计算结果,以减少计算量,即先计算x2,然后依次计算x2.x,(x2.x).x, ((x2.x).x).x的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?
第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法更快地得到结果。
(3)能否探索更好的算法,解决任意多项式的求值问题?
教师引导学生把多项式变形为:f(x)= 2x5-5x4-4x3+3x2-6x+7
=((((2x-5)x-4)x+3)x-6)x+7
并提问:从内到外,如果把每一个括号都看成一个常数,那么变形后的式子中有哪些“一次式”?x的系数依次是什么?
(4)若将x的值代入变形后的式子中,那么求值的计算过程是怎样的?
师:计算的过程可以列表表示为:
多项式x系数
2
-5
-4
3
-6
7
运算
10
25
105
540
2670
+
变形后x的"系数"
2
5
21
108
534
2677
*5
最后的系数2677即为所求的值,让学生描述上述计算过程
师:指出这种算法就是“秦九韶算法”,同时介绍秦九韶的生平。
(5)用秦九韶算法求多项式的值,与多项式的组成有直接关系吗?用秦九韶算法计算上述多项式的值,需要多少次乘法运算和多少次加法运算?教师引导学生发现在求值的过程中,计算只与多项式的系数有关,让学生统计所进行的乘法和加法运算的次数。(6) 秦九韶算法适用一般的多项式f(x)=anxn+an-1xn-1+….+a1x+a0的求值问题吗?
师:怎样用秦九韶算法求一般多项式f(x)= anxn+an-1xn-1+….+a1x+a0当x=x0时的值?
教师引导学生思考,把n次多项式的求值问题转化成求n个一次多项式的值的问题,即求v1=anx+an-1
v2=v1x+an-2 v3=v2x+an-3 …….. vn=vn-1x+a0
的值的过程,共做了多少次乘法运算,多少次加法运算?
(7)怎样用程序框图表示秦九韶算法
观察秦九韶算法的数学模型,计算vk时要用到vk-1的值,若令v0=an,我们可以得到下面的递推公式:
v0=an vk=vk-1+an-k(k=1,2,…n)
这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现。
(8)小结:通过对秦九韶算法的学习,你对算法本身有哪些进一步的认识?
教师引导学生思考、讨论、概括,小结时要关注如下几点:(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法;等等。
(9)课后作业:习题1.3A组第2题。