枚举算法 练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)应填入_______________

相关文档
最新文档