- ベストアンサー
Visual Basic 6.0
Visual Basicで 100から1までの数の中で3で割ると2あまる数を大きい順にでるようにプログラムしたいのですがどのようにすれば良いでしょうか? 詳しい方教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
For i = 100 To 1 Step -1 If i - (Int(i / 3) * 3) = 2 Then Debug.Print i End If Next i 上記のプログラムでイミディエイトウィンドウに表示されます。
その他の回答 (4)
100-I とマジックナンバーを埋め込んでいました。 よって、回答を修正します。 最大値+最小値=和 和-最大値=最小値 和-最小値=最大値 よって、和-I で逆転します。 問題は、和を埋め込むのでなく式で求めることが肝心。 m=100 - (100 mod 3) + 2 これがループ以前に必要でした。 ループ内は、 Debug.print m - i 大変、失礼しました。
お礼
回答ありがとうございました。 なんとか表示させることができました。
- Hardking
- ベストアンサー率45% (73/160)
問い合わせに対する妥当な処理としては 剰余演算子(Mod)を使用する一例はどうでしょう。 Dim idx As Integer For idx = 100 To 1 Step By - 1 If (idx Mod 3 = 2) Then Debug.Print idx End If Next
お礼
回答ありがとうございました。 なんとか表示させることができました。
Private Sub Command1_Click() Dim I As Integer For I = 2 To 100 Step 3 Debug.Print 100 - I Next I End Sub [イミディエイト] 98 95 ・・・ 2
お礼
回答ありがとうございました。 なんとか表示させることができました。
- K-Sogacchi
- ベストアンサー率53% (50/93)
No.1さんのレスに補足です。 > If i - (Int(i / 3) * 3) = 2 Then は、 If i Mod 3 = 2 Then でも可ですね。
お礼
回答ありがとうございました。 なんとか表示させることができました。
お礼
回答ありがとうございました。 なんとか表示させることができました。