| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 447 人关注过本帖
标题:[求助]编程问题
只看楼主 加入收藏
yfasj
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-4-22
收藏
 问题点数:0 回复次数:2 
[求助]编程问题

计算π的近似值,π地计算公式为:
π=2*((2^2)/(1*3))*((4^2)/(3*5))*((6^2)/(5*7))*……*((2n)^2)/((2n-1)*(2n+1))
取n=100000时的值
我编的程序是
Private Sub Command1_Click()
Dim i&, t!, pi!
i = 1
pi = 2 * 4 / 3
t = 4 / 3
For i = 1 To i
t = ((2 * i) ^ i) / ((2 * i - 1) * (2 * i + 1))
pi = 2 * (pi / (1 / t))
If i = 100000 Then Exit For
Next i
Print pi
End Sub

可是结果不是3.14而是3.555556,并且我无论使i=多少都是这个值
请高手指点
谢谢

搜索更多相关主题的帖子: 计算 
2006-04-22 00:49
xinfresh
Rank: 4
等 级:贵宾
威 望:13
帖 子:594
专家分:0
注 册:2006-1-13
收藏
得分:0 
首先,算法描述有问题:倒第五行是什么啊?公式里没有吧?
再有,写:For i=1 To i是什么意思?不要用这种循环比较好吧
拿这个试试:
Private Sub Command1_Click()
Dim i As Long, pi As Double
pi = 2
For i = 1 To 100000
pi = pi * ((2 * i) / (2 * i - 1)) * ((2 * i) / (2 * i + 1))
Next i
Print pi
End Sub
公式我稍动了一点,因为后面2*i的平方太大,会溢出,所以变了个形

E-mail:xinfresh@QQ:383094053校内:http:///getuser.do?id=234719042
2006-04-22 07:51
yfasj
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-4-22
收藏
得分:0 
哇!这么简单的几句话就搞定了,太强了!感谢感谢!
2006-04-22 11:12
快速回复:[求助]编程问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021718 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved