プロが教える店舗&オフィスのセキュリティ対策術

対数のeの値を出すプログラムをつくりたいのですが

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m, n, s, k As Double
k = 1
s = 1
For n = 1 To 1000 Step 1

For m = 1 To n Step 1
s = s * m
Next
k = k + 1 / s
Next
TextBox1.Text = Format(k, "#.################")
End Sub


自力でつくったこれだと微妙に値が変わってしまいます
どこが違いますか?
おしえてください

A 回答 (2件)

Dim m, n, s, k As Double



For n = 1 To 1000 Step 1
s = 1 + 1 / n
k = s
For m = 2 To n Step 1
k = k * s
Next
Next

んー、nが増えるに従って収束するさまをみるならループの中にprintがあった方がよいような?
    • good
    • 0

内側のForは不要です(変数mは要らなくなります)。

外側のForの繰り返しは20程度で十分です。
Format関数の第2パラメーターを"0.0000000000000000"に替えるると、下位の桁がゼロでも表示されるようになります
Dim n, s, k As Double
k = 1
s = 1
For n = 1 To 17 Step 1
s = s * n
k = k + 1 / s
Next
TextBox1.Text = Format(k, "0.0000000000000000")
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!