求π的近似值,用VB编程

给的公式是π=2*L*((2*n)^2/(2*n-1)*(2*n+1)),要求是显示当n=50和n=1000时的结果,我编出的程序,50的时候距离π差得很远,1000又会... 给的公式是π=2*L*((2 * n) ^ 2 / (2 * n - 1) * (2 * n + 1)),要求是显示当n=50和n=1000时的结果,我编出的程序,50的时候距离π差得很远,1000又会溢出,求怎么改写。
Private Sub Command1_Click()
Dim pi#, n#
pi = 2
n = 1
For n = 1 To 50
pi = pi * ((2 * n) ^ 2 / (2 * n - 1) * (2 * n + 1))
n = n + 1
Next n
Print pi
End Sub
展开
 我来答
oiu13
2015-05-10 · TA获得超过249个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:212万
展开全部

发现你有存在四个问题:

请做如下修改:(50,1000均已测试通过)

Dim n#, pi#
pi = 2
'n = 1000
'n=50
n = Val(InputBox("请输入一个数"))
For i = 1 To n
    pi = pi * ((2 * i) ^ 2 / ((2 * i - 1) * (2 * i + 1)))
    '注意上面公式的括号优先级问题
    'n = n + 1 'n 已经是循环,这句不要
Next i
Print pi ' π的近似值
更多追问追答
追问
为什么到1000的时候还会显示溢出
追答

我的会溢出?没有啊我测试正常的 

结果是:如图

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式