题型:综合题 题类:常考题 难易度:普通
浙江省高中信息技术 枚举算法及程序实现同步练习
请在下列程序代码的基础上按照要求设计该程序,完善程序中的划线部分。
Dim n As Integer, a1 As Integer, a2 As Integer, a3 As Integer
Function f(x as integer) As Boolean
f=True
For i=2 To Sqr(x)
If x Mod i=0 Then
Next i
End Function
Private Sub Command1_Click()
n=
For a1=2 To n
For a2=a1 To n
For a3=a2 To n
IfAnd f(a1) And f(a2) And f(a3) Then
List1.AddItem(Str(a1)+“ ”+Str(a2)+“ ”+Str(a3))
End If
Next a3
Next a2
Next a1
End Sub
①共八位字符,前两位为字母“zj”,后六位是数字,并以66开头(即密码格式为zj66****);
②最后两位数字相同;
③后六位数能被16和46同时整除。
单击“找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。
|
Private Sub Command1Click()
Dim s As Long , a As Integer, b As Integer, c As Integer, i As Integer
For i = 0 To 9999
s = 660000 + i
If ① And s Mod 46 = 0 Then
'(选填字母,从下列A、B 、C、D四个选项中选取一项)
a = s Mod 10
b = (s Mod 100) \ 10
If ② Then '(选填字母,从下列A、B 、C、D四个选项中选取一项)
List1.AddItem ("zj" + Str(s))
c = ③ '(填程序代码)
End If
End If
Next i
Label1.Caption = "共有" + Str(c) + "个"
End Sub
校验值计算规则如下:
第一步:将身份证号前17位数字分别乘以不同的系数后相加,对应系数如下表所示。
位数 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
系数 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
1 |
6 |
3 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
第二步:将第一步的计算结果除以 11,得到余数。 第三步:根据第二步的计算结果从下表获取对应的校验值。
余数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
校验值 |
1 |
0 |
X |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
例如:某身份证号为 34052419800101001X。要计算此身份证的校验值步骤如下:第一步:计算 3*7+4*9+0*10+5*5+……+1*2=189
第二步:189除以11得到余数为2
第三步:由余数2获取校验值X。
根据以上规则小王编写了一个验证身份证号是否有效的VB程序,功能如下:在文本框Text1中输入身份证号,单击“验证”按钮Command1后,在列表框List1中显示验证结果。程序运行界面如图1所示。
试题篮