最新中国古代数学中的算法案例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序编写
n=6;
s=s+n*x*(1-h)/2;
x=1; s=6*sqrt(3)/4;
n=2*n; x=sqrt((x/2)^2+(1-
for i=1 : 1 : 5
h)^2);
h=sqrt(1-(x/2)^2); end
print(%io(2), n, s)
秦九韶(1208年-1261年) 南宋官员、数学家,与李冶、杨辉、 朱世杰并称宋元数学四大家。字道 古,汉族,自称鲁郡(今山东曲阜) 人,生于普州安岳(今属四川)。 精研星象、音律、算术、诗词、弓 剑、营造之学,历任琼州知府、司 农丞,后遭贬,卒于梅州任所,著 作《数书九章》,其中的大衍求一 术、三斜求积术和秦九韶算法是具 有世界意义的重要贡献。
第一步:输入两个 正整数a,b(a>b);
第二步:求出a÷b 的余数r;
第三步:令a=b, b=r,若r≠0,重复第二 步;
第四步:输出最大 公约数a.
更相减损术和辗转相除法的主要区别在于:
前者所使用的运算是“减”,后者是“除”。从算法
思想上看,两者并没有本质上的区别,但是在计算过 程中,如果遇到一个数很大,另一个数比较小的情况 ,可能要进行很多次减法才能达到一次除法的效果,
《数书九章》在数学内容上颇多创新。中国算筹式记数 法及其演算式在此得以完整保存;自然数、分数、小数、负 数都有专条论述,还第一次用小数表示无理根的近似值;卷 1大衍类中灵活运用最大公约数和最小公倍数,并首创连环 求等,借以求几个数的最小公倍数;在《孙子算经》中“物 不知数”问题的基础上总结成大衍求一术,使一次同余式组 的解法规格化、程序化,比西方高斯创用的同类方法早500 多年,被公认为“中国剩余定理此外,秦九韶还改进了一次 方程组的解法,用互乘对减法消元,与现今的加减消元法完 全一致。
欧几里得
如何使用
以求288和123的最大公约数为例,操作如下:
S1:288÷123=2……42 S2:123÷42=2……39 S3:42÷39=1……3 S4:39÷3=13
这是一个辗转相 处的过程……
∴ 3就是288和123的最大公约数。
理论依据
a n r b r a nb
得 a, b 与 b, r 有相同的公约数
已知一个一元n次多项式函数: P(x)=anxn+an-1xn-1+……+a1x+ao
当知道x值时,我们可以按顺序一项一项的计算, 然后相加,求出P(x)
设有n+1项的n次函数,即: 将前n项提取公因数x ,得: 再将括号内的前n-1项提取公因数x,得:
如此反复提取公因数x ,最后将函数化为:
输出b
a=a-b
b=b-a
Y
a> N
Y
b
结束
程序:
a=input(“a=”); b=input(“b=”);
while a<>b if a>=b a=a-b;
else b=b-a;
end end print(%io(2), b, “两数的最大公约数
辗转相除法
辗转相除法
辗转相除法最早出现 在欧几里得的几何原本 中(大约公元前300 年),所以它是现在仍 在使用的算法中最早出 现的。
开始 输入x,n;a0,a1,a2,…,an
k=n, f=an
k>0


k=k-1
f=f*x +ak
输出S 结束
Scilab语言:
x=input("x="); n=input("n="); result=input("The first xishu"); for i=1 : 1 : n
a=input("xishu: "); result=result*x+a; end disp(result,"The result is:");
定的边数(设为2m)为止,得到一列递
增的数,
S6,S12,S24,S48,…,S2n.
第三,S2n近似等于圆面积。
下面的关键是找出正n边形的面积与正2n
边形的面积之间的关系,以便递推。
设圆的半径为1,正n边形
的边长AB为xn,弦心距OG
为hn;面积为Sn,根据勾股
定理,得:
hn
1
xn 2
2
,
x2n
xn 2
2
1hn
2
(n6)
容易知道x6=1,
正2n边形的面积等于正n
边形的面积加上n个等腰三
角形的面积,即
S 2 n S n n1 2x n( 1 h n )百度文库(n 6 )
于是由 S6 6
3 4
求得S12=3;
S24≈3.105828;……
按照这样的思路, 刘徽把圆内接正多 边形的面积一直算 到了正3072边形, 并由此而求得了圆 周率 为3.14和 3.1416 这两个近似数值。 这个结果是当时世 界上圆周率计算的 最精确的数据。

......
则: fn即为所求
怎样用程序框图表示秦九韶算法 ?
观察秦九韶算法的数学模型,计算vk时 要用到fk-1的值,若令f0=an,我们可以得 到下面的递推公式: f0=an fk=fk-1·x+an-k (k=1, 2, …, n)
这是一个在秦九韶算法中反复执行的 步骤,可以用循环结构来实现。
刘徽形容他的“割圆术”
说:割之弥细,所失弥少, 割之又割,以至于不可割, 则与圆合体,而无所失矣。
简单来说所谓“割圆 术”,是用圆内接正多边 形的周长去无限逼近圆周 并以此求取圆周率的方法。
计算方法
第一,从半径为1的圆内接正六边形开始, 计算它的面积S6;
第二,逐步加倍圆内接正多边形的边数, 分别计算圆内接正十二边形,正二十四 边形,正四十八边形,…的面积,到一
中国古代数学中的算法案例
最大公约数
算法表示
S1:输入两个正数a,b(a>b) ; S2:如果a≠b,则执行S3,否则转到S5; S3:将a-b的值赋予r; S4:若b>r,则把b赋予a,把r赋予b,否则把
r赋予a,重新执行S2; S5:输出最大公约数b.
开始 输入a,b
a≠b N
所以辗转相除法更好一些。
割圆术
早在我国先秦时期,《墨经》上就已 经给出了圆的定义。我国古代数学经 典《九章算术》在第一章“方田”章 中写到“半周半径相乘得积步”,也 就是我们现在所熟悉的公式。
为了证明这个公式,我国魏晋时期数 学家刘徽写了一篇1800余字的注记, 这篇注记就是数学史上著名的“割圆 术”。
相关文档
最新文档