求教:vb求和程序,两种算法结果不一样。

[复制链接]
查看11 | 回复1 | 2009-4-19 21:23:30 | 显示全部楼层 |阅读模式
做“1-(1/3)+(1/5)-(1/7)+(1/9)+……-(1/99)=”的结果
第一个算法:
Private Sub Command1_Click()
Dim sum#, i%, s%
sum = 0: s = 1
For i = 1 To 99 Step 2
sum = sum + (1 / i) * s
s = -s
Next i
MsgBox "结果为" & sum
End Sub
另一个算法是:
Private Sub Command1_Click()
Dim i As Integer, sum As Single
sum = 0
For i = 1 To 99 Step 2
sum = sum + (1 / i) * (-1) ^ (i + 1)
Next i
MsgBox "结果为" & sum
End Sub

两种算法运行结果不一样,请问是怎么回事。谢谢。

回复

使用道具 举报

千问 | 2009-4-19 21:23:30 | 显示全部楼层
sum = sum + (1 / i) * (-1) ^ (i + 1)错误在这里:因为i总是单数,(i + 1)就总是双数,故只有加,没有减。所以,第一个是对的,第二个是错的。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行