内容正文:
枚举算法
问题引入
如果有一把锁,和一串钥匙,你不知道哪些钥匙可以开这把锁,你会怎么做?
枚举算法的思想
按问题本身的实质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是则采纳,若否则抛弃。在列举过程中,既不能遗漏也不应重复。
枚举算法
找出1到100之间既是6的倍数又是3的倍数的数,如何下手?
枚举的范围
i mod 6=0 and i mod 3=0
If i Mod 6 = 0 And i Mod 3 = 0 Then List1.AddItem i
100以内所有能被6和3整除的数
For i = 1 To 100
If i Mod 6 = 0 And i Mod 3 = 0 Then List1.AddItem i
Next i
读程序
Private Sub Command1_Click()
Dim s As Integer, j As Integer
s = 0
For j = 1 To 10
If j \ 5 = 0 Then
s = s + j
End If
Next j
Print s
End Sub
s的值为:
10
读程序
Dim a(1 To 10) As Integer
a(1) = 1
a(2) = 1
a(3) = 1
For i = 4 To 10
a(i) = a(i - 3) + a(i - 1)
Next i
数组元素a(5)的值是: 。
3
破解密码
某电脑的密码是5位数的编号,但目前十位和百位上的数不知道(25**6),但是能确定这个五位数是37或者67的倍数。请设计一个算法,找出所有满足这个条件的五位数。
范围:25006--25996
For i = 0 To 99
s =
If s Mod 37 = 0 Or s Mod 67 = 0 Then
List1.AddItem s
c = c + 1
End If
Next i
Print c
水仙花数
一个三位数等于它各个位数上的数的3次方的和这个数称为水仙花数,请你找出所有水仙花数。
例如:153 = 1^3 + 5^3 + 3^3
列表框 Listbox
常用的方法:additem
文本框text1.text=x 赋值语句
列表框