- ベストアンサー
VB A言語
VBA言語です。 以下に記述する問題について質問があります。 InpuuBoxで整数をMに入力してDo〜Loop文で総和Sを計算して得た結果を(M,N,S)の形で表記したいのですが、変数をLongで宣言する場合の表示を教えてほしいです。 問題 S=2^1+2^3+2^5・・・+2^Nの総和がMを超える最小のNとS よろしくお願いします(>人<;)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のようなコードをお望みですか Sub sample() Dim m As Long Dim i As Long Dim s As Long i = 0 m = InputBox("整数M入力") Do i = i + 1 s = GetS(i) If m < s Then Exit Do Loop MsgBox _ "(" & _ Format(m, "0") & "," & _ Format(s, "0") & "," & _ Format((i - 1) * 2 + 1, "0") & _ ")" End Sub Function GetS(Cnt As Long) As Long Dim i As Long Dim t As Long t = 0 For i = 1 To Cnt t = t + 2 ^ ((i - 1) * 2 + 1) Next i GetS = t End Function