枚举算法 练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.用50元钱兑换面值为1元、2元、5元的纸币共25张。每种纸币不少于1张,求出有多少种兑换方案?每种兑换方案中1元、2元、5元的纸币各有多少张?
假设面值为1元、2元、5元的纸币分别是x、y、z张,兑换方案有k种,从题意可得出x、y、z满足的表达式为
x+y+z=25
x+2y+5z=50
解决此问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。
Private Sub Command1_Click()
Dim k As Integer
Dim x As Integer, y As Integer, z As Integer
k = 0
List1.Clear
For y = 1 To 23
For z = 1 To 9
x = 25 - y - z
If (1) Then
List1.AddItem "1元" + Str(x) + "张 2元" + Str(y) + "张 5元" + Str(z) + "张"
____(2)___________
End If
Next z
Next y
Label1.Caption = "共有" + Str(k) + "种兑换方案"
End Sub
程序中划线处(1)应填入_____________
程序中划线处(2)应填入_____________
2.以下Visual Basic程序的功能是:计算表达式1+2+22+23+24+25+26+27+28+29+210的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的语句应更正为_____________。
Private Sub Command1_Click()
Dim i As Integer,s As Long
s = 0
k = 2
For i= 1 To 10
s = s + k
k = k * 2
Next i
Text1.Text=Str(s)
End Sub
3.在100至999之间的自然数中,找出能被3整除,且至少有一位数字为5的所有整数,并统计个数。
设变量s是一个三位正整数,变量a、b、c分别表示s的百位、十位和个位上的数字,变量n表示满足要求的整数个数。对于每一个s,只要判断a、b、c中是否至少有一个为5,即可找到符合条件的数。程序界面如图VB-1所示,单击"统计"按钮,在列表框List1中输出符合条件s值,在文本框Text1中输出n的值。
相应的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。
Private Sub Command1_Click()
Dim s As Integer, n As Integer
Dim a As Integer, b As Integer, c As Integer
n = 0
s = 102
List1.Clear
Do While (1)
a = s \ 100
b = s \ 10 Mod 10
c = s Mo
d 10
If (2) Then n = n + 1
List1.AddItem Str(s)
s = s + 3
Loop
Text1.Text = Str(n)
End Sub
程序中划线处(1)应填入 ___________
程序中划线处(2)应填入_______________