圆周率的计算方法
古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。Archimedes用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;Ludolph Van Ceulen用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。下面挑选一些经典的常用公式加以介绍。除了这些经典公式外,还有很多其他公式和由这些经典公式衍生出来的公式,就不一一列举了。
Machin公式
这个公式由英国天文学教授John Machin于1706年发现。他利用这个公式计算到了100位的圆周率。Machin公式每计算一项可以得到14位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
Machinc 源程序
还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n))。
“兀”(31415)是由我国古代数学家祖冲之的割圆术求出来的。
我国古代数学家祖冲之,以圆的内接正多边形的周长来近似等于圆的周长,从而得出π的精确到小数点第七位的值。
π=圆周长/直径≈内接正多边形/直径。当正多边形的边长越多时,其周长就越接近于圆的周长。祖冲之算得的π值在绝大多数的实际应用中已经非常精确。
纵观π的计算方法,在历史上大概分为实验时期、几何法时期、解析法时期和电子计算机计算法几种。
实验时期:约产于公元前1900年至1600年的一块古巴比伦石匾上记载了圆周率 = 25/8 = 3125,而埃及人似乎更早的知道圆周率,英国作家 John Taylor (1781–1864) 在其名著《金字塔》中指出,造于公元前2500年左右的胡夫金字塔和圆周率有关。例如,金字塔的周长和高度之比等于圆周率的两倍,正好等于圆的周长和半径之比。
几何法时期:古希腊大数学家阿基米德(公元前287–212 年)开创了人类历史上通过理论计算圆周率近似值的先河。他逐步对内接正多边形和外接正多边形的边数加倍,直到内接正96边形和外接正96边形为止。最后,他得出3141851 为圆周率的近似值。
这种方法随后被2位中国古代数学家发扬光大。公元263年,中国数学家刘徽用“割圆术”,求出3072边形的面积,得到令自己满意的圆周率≈31416。
而南北朝时期的数学家祖冲之进一步求出圆内接正12288边形和正24576边形的面积,得到31415926<π<31415927的精确值,在之后的800年里祖冲之计算出的π值都是最准确的。
解析法时期:这是圆周率计算上的一次突破,是以手求π的解析表达式开始的。法国数学家韦达(1540-1603年)开创了一个用无穷级数去计算π值的崭新方向。无穷乘积式、无穷连分数、无穷级数等各种π值表达式纷纷出现,使得π值计算精度迅速增加。
1706年,英国数学家梅钦率先将π值突破百位。到1948年英国的弗格森(D F Ferguson)和美国的伦奇共同发表了π的808位小数值,成为人工计算圆周率值的最高纪录。
计算机时期:自从第一台电子计算机ENIAC在美国问世之后,立刻取代了繁杂的π值的人工计算,使π的精确度出现了突飞猛进的飞跃。1955年,一台快速计算机竟在33个小时内。把π算到10017位,首次突破万位。
技不断进步,电脑的运算速度也越来越快,在60年代至70年代,随着美、英、法的电脑科学家不断地进行电脑上的竞争,π的值也越来越精确。在1973年,Jean Guilloud和Martin Bouyer以电脑CDC 7600发现了π的第一百万个小数位。
2011年10月16日,日本长野县饭田市公司职员近藤茂利用家中电脑将圆周率计算到小数点后10万亿位,刷新了2010年8月由他自己创下的5万亿位吉尼斯世界纪录。56岁的近藤茂使用的是自己组装的计算机,从10月起开始计算,花费约一年时间刷新了纪录。
扩展资料:
是第十六个希腊字母的小写。
这个符号,亦是希腊语 περιφρεια (表示周边,地域,圆周等意思)的首字母。1706年英国数学家威廉·琼斯(William Jones ,1675-1749)最先使用“π”来表示圆周率 。
1736年,瑞士大数学家欧拉也开始用 表示圆周率。从此, 便成了圆周率的代名词。 要注意不可把 和其大写Π混用,后者是指连乘的意思。
把圆周率的数值算得这么精确,实际意义并不大。现代科技领域使用的圆周率值,有十几位已经足够了。如果以39位精度的圆周率值,来计算宇宙的大小,误差还不到一个原子的体积 。
以前的人计算圆周率,是要探究圆周率是否循环小数。自从1761年兰伯特证明了圆周率是无理数,1882年林德曼证明了圆周率是超越数后,圆周率的神秘面纱就被揭开了。
π在许多数学领域都有非常重要的作用。
π是个无理数,即不可表达成两个整数之比,是由瑞士科学家约翰·海因里希·兰伯特于1761年证明的。 1882年,林德曼(Ferdinand von Lindemann)更证明了π是超越数,即π不可能是任何整系数多项式的根。
圆周率的超越性否定了化圆为方这古老尺规作图问题的可能性,因所有尺规作图只能得出代数数,而超越数不是代数数。
参考资料:
问题一:怎么样用电脑计算圆周率π 一、中国圆周率公式的分类
外国圆周率公式为高精度圆周率的计算立下了汗马功劳,并为许多数学人所熟习,但并不适合普通人使用,下面向数学爱好者和中学生们介绍一组中国人自己研究的普及型圆周率公式:
一基本公式:
⑴π=180°sinθMθ 、
⑵π=180°M(θ cscθ)、
⑶π=180°tgθMθ 、
⑷π=180°M(θ ctgθ) 、
(θ→0°θ>0°)
此类公式以圆内接或外切直角三角形或正多边形的边所对应的圆心角为计算依据,外形简单,计算方便,对圆周率的概括比较全面系统;同时,既是1弧度公式,又是1角度公式。
二派生公式:
⑸π=(n/2)sin(360°Mn) 、
⑹π=1M((2/n)csc(360°Mn)) 、
⑺π=(n/2)tg(360°Mn) 、
⑻π=1M((2/n)ctg(360°Mn)) 、
(n→∞, n≥5)
此类派生公式可以由基本公式导出或单独推导,并以圆内接或外切直角三角形数量为计算依据,是专用性、针对性较强的圆周率公式。
三派生公式:
⑼π=nsin(180°Mn) 、
⑽π=n/csc(180°Mn) 、
⑾π=ntg(180°Mn) 、
⑿π=n/ctg(180°Mn) 、
(n→∞,n≥3)
此类派生公式可以由基本公式导出或单独推导,并以圆内接或外切正多边形的边数为计算依据,是中国割圆术公式的典型代表。
四专业公式:
⑴π=2^n√(2-√(2+…√2+)…)
⑵π=3×2^n√(2-√(2+…√(2+√3)…)
⑶π=2×2^n√(2-√(2+…√2+)…)/√(2+√(2+…√2+)…)
⑷π=6×2^n√(2-√(2+…√3)…)/√(2+√(2+…√3)…)
(n→∞,根式中有n个2)
专业公式可由基本公式或倍边公式推导,它们是割圆术公式的最高形式,是以圆内接或外切正四边形或正六边形为基础,不断分割至无穷,从而得到适合专家们使用的表达式。
根据以上公式和三角函数间的关系,还可导出更为复杂一些的圆周率公式。
二、中国圆周率的计算
在圆周率的日常应用中,我们根本不需要对其进行计算,因为数学家已经计算好了,直接拿来运用即可;但对于数学爱好者和中学生来说,亲自动手计算圆周率,将会进一步加深对圆周率的理解。
在计算机发明以前,圆周率的计算主要是靠手工计算和其他简易工具的计算,今天我们可以直接运用计算机或计算器进行计算,计算器的精度一般在10位左右,计算机上的计算器精度一般在30或60位左右,如果需要数以万计、亿计的精度,则需要将三角函数原始公式代入,转换成专业公式并编制专用程序进行计算即可,这里只是简单介绍常规计算。
圆周率公式非常多,我们只取其中几个最简单的中国圆周率公式进行讲解:
⑴ π=180°sinθMθ 、
⑵ π=180°tgθMθ 、
(θ→0°θ>0°)
一模拟计算正24576边形的圆周率(祖率)
∵ θ=180°M24576=0007324219°
∴ ⑴ π=180°sinθMθ
=180°×sin0007324219°M0007324219°
=180°×00001278317363M0007324219°
=31415926
∴ ⑵ π=180°tgθMθ
=180°×tg0007324219°M0007324219°
=180°×00001278317374M0007>>
问题二:怎么才能用家用电脑来计算圆周率 I AGREE WITH HER
问题三:求一组能够让计算机计算圆周率的cmd命令 30分]@]@]
echo off&setlocal enabledelayedexpansion
echo %time%
set /a a=10000,c=500
::c是位数
(set /a a/=5,c=c/414-1
for /l %%a in (1 1 !c!) do set f[%%a]=!a!
for /l %%i in (!c! -14 0) do (
for /l %%j in (%%i -1 1) do (
set /a d+=f[%%j]%a%,f[%%j]=d%%(%%j2+1^),d=d/(%%j2+1^)%%j
)
set /a c=a+d/%a%,a=d%%%a%+%a%,d=0
set /p=!c:~-4!
)
) 问题四:测试电脑的性能都让它跑圆周率吗 怎么让电脑跑圆周率呢 跑圆周率只是测试CPU性能 我给你一个软件dlpconline/1
问题五:怎么利用圆周率测试电脑速度 计算圆周率基本上测试不出电脑的性能,但你可以试一下。
以下是一个计算圆周率的C程序
算法是用泰勒公式计算反正切值。在命令行不跟参数执行该程序则使用Gauss公式计算前1000位圆周率的值,如果带一个命令行参数,则该值为要计算的位数。如果还有第二个命令行参数,则使用Stomer公式计算,可作为验算。因为该程序只涉及到纯数学计算,可以在Linux、Unix、Windows等 *** 作系统下编译并运行。当时写这个程序时,int是2个字节的,现在大多数的C编译器int都是4个字节,不过这不影响程序的正确性。
#include
#include
main(int argc, char argv[])
{
long pi, t, m, n, r, s;
int t0[][3] = {48, 32, 20, 24, 8, 4}, k0[][3] = {1, 1, 0, 1, 1, 1};
int n0[][3] = {18, 57, 239, 8, 57, 239}, d, i, j, k, p, q;
d = (argc > 1) (((i = atoi(argv[1])) 2) 1 : 0;
printf(%s\n\n, Nature (R) Pi value pute Program (C) Tue 19991130);
printf(pi= %s%d arctg(1/%d) s %d arctg(1/%d) %s %d arctg(1/%d) [%s]\n,
k0[q][0] : -, t0[q][0], n0[q][0], k0[q][1] + : -, t0[q][1],
n0[q][1], k0[q][2] + : -, t0[q][2], n0[q][2], q Stomer : Gauss);
if ((t = (long )calloc((d += 5) + 1, sizeof(long))) == NULL) return 1;
if ((pi = (long )calloc(d + 1, sizeof(long))) == NULL) return 2;
for (i = d; i >= 0; i--) pi[i] = 0;
for (p = 0; p = 0; i--) t[i] = 0;
for (r = 0, i = j; i >= 0; i--) {
r = (m = 10 r + t[i]) % n;
t[i] = m / n;
k (pi[i] += t[i]) : (pi[i] -= t[i]);
}
while (j > 0 && t[j] == 0) j--;
for (k = !k, s = 3>>
问题六:现代计算机是如何计算圆周率的? 圆周率是一个极其驰名的数。从有文字记载的历史开始,这个数就引进了外行人和学者们的兴趣。作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。事实也是如此,几千年来作为数学家们的奋斗目标,古今中外一代一代的数学家为此献出了自己的智慧和劳动。回顾历史,人类对 π 的认识过程,反映了数学和计算技术发展情形的一个侧面。 π 的研究,在一定程度上反映这个地区或时代的数学水平。德国数学史家康托说:历史上一个国家所算得的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。直到19世纪初,求圆周率的值应该说是数学中的头号难题。为求得圆周率的值,人类走过了漫长而曲折的道路,它的历史是饶有趣味的。我们可以将这一计算历程分为几个阶段。
实验时期
通过实验对 π 值进行估算,这是计算 π 的的第一阶段。这种对 π 值的估算基本上都是以观察或实验为根据,是基于对一个圆的周长和直径的实际测量而得出的。在古代世界,实际上长期使用 π =3这个数值。最早见于文字记载的有基督教《圣经》中的章节,其上取圆周率为3。这一段描述的事大约发生在公元前950年前后。其他如巴比伦、印度、中国等也长期使用3这个粗略而简单实用的数值。在我国刘徽之前圆径一而周三曾广泛流传。我国第一部《周髀算经》中,就记载有圆周三径一这一结论。在我国,木工师傅有两句从古流传下来的口诀:叫做:周三径一,方五斜七,意思是说,直径为1的圆,周长大约是3,边长为5的正方形,对角线之长约为7。这正反映了早期人们对圆周率 π 和√2 这两个无理数的粗略估计。东汉时期官方还明文规定圆周率取3为计算面积的标准。后人称之为古率。
早期的人们还使用了其它的粗糙方法。如古埃及、古希腊人曾用谷粒摆在圆形上,以数粒数与方形对比的方法取得数值。或用匀重木板锯成圆形和方形以秤量对比取值……由此,得到圆周率的稍好些的值。如古埃及人应用了约四千年的 4 (8/9)2 = 31605。在印度,公元前六世纪,曾取 π= √10 = 3162。在我国东、西汉之交,新朝王莽令刘歆制造量的容器DD律嘉量斛。刘歆在制造标准容器的过程中就需要用到圆周率的值。为此,他大约也是通过做实验,得到一些关于圆周率的并不划一的近似值。现在根据铭文推算,其计算值分别取为31547,31992,31498,32031比径一周三的古率已有所进步。人类的这种探索的结果,当主要估计圆田面积时,对生产没有太大影响,但以此来制造器皿或其它计算就不合适了。
几何法时期
凭直观推测或实物度量,来计算 π 值的实验方法所得到的结果是相当粗略的。
真正使圆周率计算建立在科学的基础上,首先应归功于阿基米德。他是科学地研究这一常数的第一个人,是他首先提出了一种能够借助数学过程而不是通过测量的、能够把 π 的值精确到任意精度的方法。由此,开创了圆周率计算的第二阶段。
圆周长大于内接正四边形而小于外切正四边形,因此 2√2 < π < 4 。
当然,这是一个差劲透顶的例子。据说阿基米德用到了正96边形才算出他的值域。
阿基米德求圆周率的更精确近似值的方法,体现在他的一篇论文《圆的测定》之中。在这一书中,阿基米德第一次创用上、下界来确定 π 的近似值,他用几何方法证明了圆周长与圆直径之比小于 3+(1/7) 而大于 3 + (10>>
问题七:如何用计算机(电脑)计算π const ARRSIZE=1010,DISPCNT=1000; 定义数组大小,显示位数
char x[ARRSIZE],z[ARRSIZE]; x[0] x[1] x[2] x[3] x[4] x[ARRSIZE-1]
int a=1,b=3,c,d,Run=1,Cnt=0;
memset(x,0,ARRSIZE);
memset(z,0,ARRSIZE);
x[1] = 2;
z[1] = 2;
while(Run && (++Cnt0; i--)
{
c = z[i]a + d;
z[i] = c % 10;
d = c / 10;
}
z/=b;
d = 0;
for(int i=0; i0; i--)
{
c = x[i] + z[i];
x[i] = c%10;
x[i-1] += c/10;
Run |= z[i];
}
a++;
b+=2;
}
Memo1->Text = AnsiString()sprintf(计算了 %d 次\r\n,Cnt);
Memo1->Text = Memo1->Text + AnsiString()sprintf(Pi=%d%d\r\n,x[0],x[1]);
for(int i=0; iText = Memo1->Text + \r\n;
Memo1->Text = Memo1->Text + (int)x[i+2];
}
π/2的近似值公式为:
π/2=(2/1)(2/3)(4/3)(4/5)(2n/2n-1)(2n/2n+1)
其中n=1、2、3
程序如下:
#include<stdioh>
#include<mathh>
#define
alpha
1E-12
//精确度
int
main()
{
double
s=10,s1,n=10;
do
{
s1=2s;
s=s((2n/(2n-1))(2n/(2n+1)));
n=n+10;
}
while(abs(s1-2s)>alpha);
printf("π=%lf\n",2s);
getchar();
return
0;
}
输出:π=3141592
Private Sub Command1_Click()
Dim a As Long, b As Long, d As Long, e As Integer, f(801) As Long, g As Long
Dim i As Long
Dim res As String
Dim index As Long
a = 10000
c = 800
For i = 0 To c
f(i) = a / 5
Next i
'预留足够长的缓冲空间
res = Space(9000)
'指针变量,指出在哪里插入字符串
index = 1
Do While (c <> 0)
d = 0
g = c 2
b = c
Do While (1)
d = d + f(b) a
g = g - 1
f(b) = d Mod g
d = Fix(d / g)
g = g - 1
b = b - 1
If b = 0 Then GoTo 22
d = d b
Loop
22:
c = c - 14
substr = Format(Fix(e + d / a), "0000")
'填充字符串的相应区间段数值
Mid$(res, index, 4) = substr
'调整指针变量
index = index + 5
If index > 101 Then Exit Do '只显示100位
e = d Mod a
Loop
'删除多余字符
res = Left$(res, index - 1)
Text1Text = res
DebugPrint index
End Sub
计算公式如下:
π=sin(180°÷n)×n公式源于圆形——正无穷边形,当此公式n=∞时π的值误差率为0,π=sin(180°÷1×10¹⁴)×10¹⁴=31415926535898。
1、圆周率(Pi)为圆的周长与直径的比值,一般用希腊字母π表示,一个在数学及物理学中普遍存在的数学常数。
2、π也等于圆形之面积与半径平方之比,是精确计算圆周长、圆面积、球体积等几何形状的关键值。 在分析学里,π可以严格地定义为满足sin x = 0的最小正实数x。
扩展资料:
一、圆的第一定义
1、在同一平面内到定点的距离等于定长的点的集合叫做圆(circle)。这个定点叫做圆的圆心。
2、圆形一周的长度,就是圆的周长。能够重合的两个圆叫等圆,等圆有无数条对称轴。
3、圆是一个正n边形(n为无限大的正整数),边长无限接近0但永远无法等于0。
二、圆的第二定义:
1、平面内一动点到两定点的距离之比(或距离的平方之比),等于一个不为1的常数,则此动点的轨迹是圆。
2、证明:点坐标为(x1,y1)与(x2,y2),动点为(x,y),距离比为k,由两点距离公式。满足方程(x-x1)2 + (y-y1)2 = k2×[ (x-x2)2 + (y-y2)2] 当k不为1时,整理得到一个圆的方程。
参考资料来源:百度百科-圆周率
参考资料来源:百度百科-圆
以上就是关于圆周率的计算方法全部的内容,包括:圆周率的计算方法、π的计算方法、电脑怎么算圆周率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)