资源描述
利用穷举法解决问题
一、填空题
解决问题常见的算法有:解析法、穷举法、递归法、冒泡排序法,根据问题选择合适的算法。
1. 列举所有可能的情况,逐个判断有哪些是符合问题所需要的条件,从而得到问题的解答,这是 的思路。
2、水仙花数是一个三位数,其各位数字的立方和等于该数本身,如,要找出所有的水仙花数,选择的算法是 。
3、一张单据上有一个5位数的号码67__ __8,其中百位和十位的数字看不清楚了,但知道该数能够被78整除,也能被67整除,求出该号码。
应该选择的算法是 。
4. “百钱买百鸡” 问题:已知公鸡每只5元,母鸡每只3元,每3只小鸡1元,用100元买100只鸡,问每种鸡应各买多少?
应该选择的算法是 。
二、分析程序写出运行结果或补全程序。
1、“百钱买百鸡” 问题:已知公鸡每只5元,母鸡每只3元,每3只小鸡1元,用100元买100只鸡,问每种鸡应各买多少?
(1)使用三重循环,代码如下:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
For x = 0 To 20
For y = 0 To 33
For z = 0 To 99 Step 3
If Then
Print "公鸡"; x, "母鸡"; y, "小鸡"; z
End If
Next
Next
Next
End Sub
(2)使用二重循环,程序如下:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
For x = 0 To 20
For y = 0 To 33
z =
If Then
Print "公鸡"; x, "母鸡"; y, "小鸡"; z
End If
Next
Next
End Sub
2、一张单据上有一个5位数的号码67__ __8,其中百位和十位的数字看不清楚了,但知道该数能够被78整除,也能被67整除,求出该号码。
完善下列程序:
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim m As Long
For a = 0 To 9
For b = 0 To
m = 67008 + a * 100 + b * 10
If Then
Print "这个五位数是:"; m
End If
Next b
Next a
End Sub
2
展开阅读全文