- ベストアンサー
VBA言語プログラミング
VBA言語です。 以下に記述する問題について質問があります。 InpuuBoxで整数をMに入力してDo〜Loop文で総和Sを計算して得た結果を(M,N,S)の形で表記したいのですが、変数をLongで宣言する場合の表示を教えてほしいです。 問題 S=1+2+2^2+・・+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 s = GetS(i) If m < s Then Exit Do i = i + 1 Loop MsgBox _ "(" & _ Format(m, "0") & "," & _ Format(s, "0") & "," & _ Format(i, "0") & _ ")" End Sub Function GetS(Cnt As Long) As Long Dim i As Long Dim t As Long t = 0 For i = 0 To Cnt t = t + 2 ^ i Next i GetS = t End Function