回覆列表
  • 1 # 使用者5299230923514

    這一類問題可以採用列舉的方法來實現:

    列舉演算法的特點8個字,一一列舉,逐個檢驗:

    往往外面用迴圈來實現一一列舉,在迴圈中巢狀選擇,來實現逐個檢驗;

    dim i as integer

    for i = 100 To 999

    選擇結構實現檢驗

    next i

    檢驗實現如下:

    a = i \ 100 "獲得該三位數的百位數字

    b = (i \ 10) Mod 10 "獲得該三位數的十位數字

    c = i mod 10 "獲得該三位數的個位數字

    If i Mod 3 = 0 And i Mod 7 = 0 And a+b+c=18 Then

    這個i就是滿足條件的三位數了

    End If

    整個程式程式碼:

    Option Explicit

    Private Sub Command1_Click()

    Dim i As Integer "三位數

    Dim a As Integer "三位數的百位

    Dim b As Integer "三位數的十位

    Dim c As Integer "三位數的個位

    Dim n As Integer "滿足條件的個數

    n = 0

    For i = 100 To 999

    a = i \ 100 "獲得該三位數的百位數字

    b = (i \ 10) Mod 10 "獲得該三位數的十位數字

    c = i Mod 10 "獲得該三位數的個位數字

    If i Mod 3 = 0 And i Mod 7 = 0 And a + b + c = 18 Then

    Print i, "輸出1個找到的數,但是不換行(注意這個逗號就是不換行)

    n = n + 1 "找到一個,就在n裡增加1

    If n Mod 5 = 0 Then Print "如果n是5的倍數,就換行

    End If

    Next i

    Print

    Print

    Print "有:" & n & "個三位數滿足條件。"

    End Sub

  • 中秋節和大豐收的關聯?
  • 羊吃多了草和玉米葉會怎麼樣?