這一類問題可以採用列舉的方法來實現:
列舉演算法的特點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
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的倍數,就換行
Next i
Print
Print "有:" & n & "個三位數滿足條件。"
End Sub
這一類問題可以採用列舉的方法來實現:
列舉演算法的特點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