编写一个vb程序,计算S=1+1/2^2;+1/3^2;+。。。+1/n^;的值,当第i项1/i^2<=10^(-5)

S=1+1/2^2;+1/3^2;+。。。+1/n^2;当第i项(1/i^2)<=10^(-5)时结束

sub jj(n) jj=0 for i=1 to n jj=jj+1/i next end sub 要不要打包成EXE的
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-22
首先要把等式变一下为:
S = 1/1^2 + 1/2^2 +1/3^2 + ...+ 1/n^2
既把等式右边的第一项1,变为 1/1^2,(顺便说一下,一些分号,明显是多余的,应该去掉)
这样,等式右边的分母的通项公式是:
n^2 (n为自然数序列)
或者说等式右边的通项公式是:
1/n^2 (n为自然数序列)
这样,构造循环,i从1开始,到n,该循环是事先不知道循环次数的循环,当1/i^2<=10^(-5)时结束循环.
可以知道分母随着i从1开始逐渐增大,它的倒数1/i^2是逐渐减小的,当减小到1/i^2<=10^(-5)时结束循环.
代码:
Private Sub Command1_Click()
Dim s As Single
Dim i As Integer
s = 0
i = 1
Do While 1 / i ^ 2 > 10 ^ (-5)
s = s + 1 / i ^ 2
i = i + 1
Loop
Print i
Print s
End Sub
说明:其中Print i不是题目所需要的,但是你可以看一看,一共加了多少项.(最后一项没有累加到s里)
第2个回答  2012-04-22
Private Sub Command1_Click()
Dim i%, s!
i = 1
Do While 1 / i ^ 2 > 10 ^ -5
s = s + 1 / i ^ 2
i = i + 1
Loop
Print s
End Sub本回答被提问者采纳
相似回答