pi 3.14002381860059=pi_value 3.9835919006706=
pi s 1←
t kk
1+← floor
k
2

2? k=if
t k 1+k← otherwise
s s t?←
k 1 103..∈for
2 s?
:=pi_value s 0← i 1←( )
term 1
i2

s s term+←
term 1
i2

i i 1+←
term 0.00000001≥while
pi 6s←
:=
(4) 下 面 的 程 序 是 用 瓦 里 斯 公 式
计 算 圆 周 率 p
(3) 下 面 这 个 程 序 是 用 欧 拉 公 式
求 圆 周 率 p,
pp 12000( ) 3.15498882608124=Pi 10000( ) 3.1312=
pp N( ) j 0←
a 2←
l 2←
break N 0=if
φ rnd pi( )←
xk rnd a( )←
j j 1+← xk l sin φ( )?≤if
k 1 N..∈for
pp 2 N? l?a j?←
:=Pi N( ) k 0←
break N 0=if
xi rnd 1( )←
yi rnd 1( )←
ri xi( )2 yi( )2+←
k k 1+← ri 1≤if
i 1 N..∈for
k 4 k?N←
pi k←
:=
(2) 下 面 是 用 蒲 丰 投 针 法
模 拟 圆 周 率 p,
(1) 下 面 这 个 程 序 是 用 蒙 特 卡 罗 法
求 圆 周 率 p,
Mathcad,本 工 作 页 汇 集 使 用 模 拟 或 者 计 算 圆 周 率 的 各 种 方 法
pi 值 的 计 算27 实 验
(5) 根 据 马 信 公 式 计 算 圆 周 率, 16 atan 15 4 atan 1239 3.14159265358979=
arctan x n,( )
1
n
k
1?( )k 1? x
2k 1?
2 k? 1∑=:= P 16 arctan 0.2 6,( )? 4 arctan
1
239 6,
:=
P 3.14159265261531=
Arctg x n,( ) s 0←
sig 1←
s s sig x
k
k?+←
sig sig?←
k 1 3,2 n? 1?..∈for
s
:=
pi 4 Arctg 1 10000,( )?:= pi 3.14149265359003=
Ppi 16 Arctg 0.2 5,( )? 4 Arctg 1239 5,:= Ppi 3.1415926824044=
Mathin可 以 看 到 使 用 公 式 计 算 p, 将 会 大 大 地 提 高 计 算 速 度 和 精 度
(6) Borwein,四 次 迭 代 式 计 算 圆 周 率 的 迭 代 程 序
Jonathan Borwein Peter Borwein 1985,这 个 公 式 由 和 于 年 发 表 它 四 次 收 敛 于 pi.
y n( ) y0 2 1?←
A0 6 4 2?←
yk 1
4
1 yk 1?( )4
1
4
1 yk 1?( )4?+

Ak Ak 1? 1 yk+( )4? 22k 1+ yk? 1 yk+ yk( )2+←
k 1 n..∈for
p 1A
n

:=
y 2( ) 3.14159265358979=
建 议 学 生 搜 集 有 关 pi,.值 的 资 料 编 写 程 序 或 给 出 计 算 公 式 加 以 计 算