圆周率π的计算方法圆周率的计算方法古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。Archimedes用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;LudolphVanCeulen用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。1、 Machin公式这个公式由英国天文学教授JohnMachin于1706年发现。他利用这个公式计算到了100位的圆周率。。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。用马青公式计算Pi至小数点后100位程序 programPi_Value; {$APPTYPECONSOLE} //将Pi计算精确小数点后100位//Machin公式//Pi=16arctan(1/5)-4arctan(1/239) uses SysUtils; const N=100; S=2*N+50; aNum=5; bNum=239; type Num=array[1..S]ofbyte; //初始化数组 procedureAZero(vararr:Num); var i:smallint; begin fori:=1toSdo arr:=0; end; //除法 procedureDivision(vararr:Num;constb:smallint); var c,y,i:smallint; begin c:=0; fori:=1toSdo begin y:=arr+c*10; c:=ymodb; arr:=ydivb; end; end; //加法 procedureAddition(vararr:Num;constb:Num); var i,y,c:smallint; begin c:=0; fori:=Sdownto1do begin y:=arr+b+c; ify>=10then begin c:=1; arr:=y-10; end else begin c:=0; arr:=y; end; end; end; //减法 procedureMinus(vararr:Num;constb:Num); var i,y,c:smallint; begin c:=0; fori:=Sdownto1do begin y:=arr-b-c; ify<0then begin c:=1; arr:=10+y; end else begin c:=0; arr:=y; end; end; end; var tag:boolean; a,b,Ra,Rb,t:Num; i,j:smallint; begin AZero(t); Ra:=t;Rb:=t; tag:=true; writeln('计算中,请等待......'); fori:=1toNdo begin a:=t;b:=t; a[1]:=16;b[1]:=4; forj:=1toi*2-1do begin Division(a,aNum); DiVision(b,bNum); end; Division(a,i*2-1); Division(b,i
圆周率π的计算方法 来自淘豆网m.daumloan.com转载请标明出处.