题库 高中信息

题干

下列问题是适合使用枚举算法的是(    )
A.计算两个电阻的关联值
B.找出100以内所有6的倍数   
C.校园歌曲大赛的成绩排名   
D.根据时长计算停车场收费
上一题 下一题 0.99难度 选择题 更新时间:2017-02-24 08:44:27

答案(点此获取答案解析)

同类题4

由 n 行数字组成的数字三角形如图所示。设计一个算法,对于由 n 行数字组成的数字三角形(数字范围1,50,计算从三角形的顶至底的路径经过的数字和的最大值,每一步可以从当前点走到左下方的点也可以走到右下方的点。

寻求路径最大值的算法设计如下:
按三角形的行划分,若有n 行,则有n-1 个步骤
① 从底层开始,本身数即为最大值
② 倒数第二层的计算取决于底层的数据:
12+6=18,13+14=27,24+15=39,24+8=32;
③ 倒数第三层的计算取决于底二层的数据:
27+12=39,39+7=46,39+26=65;
④ 倒数第四层的计算取决于底三层的数据:
46+11=57,65+8=73;
⑤ 最后的路径:13—8—26—15—24   其和为 86。
根据上述算法描述,设计程序界面如下图所示,点击“生成金字塔”按钮,在列表框中生成数字金字塔,点击“寻求路径最大值”按钮,在文本框 text1 中输出最大值。

依据上述描述设计如下 VB 程序:
Const n = 5
Dim sx As String
Dim i, j, k, a(1 To 100) As Integer
Private Sub Command1_Click()
List1.Clear
For i = 1 To n
For j = 1 To i

__________

sx = sx + Str(a((i - 1) * n + j))

Next j

For k = n To i Step -1

 sx = " " + sx

Next k

List1.AddItem sx

sx = ""

Next i
End Sub
Private Sub Command2_Click()
For i = n To 1 Step -1
For j = 2 To i

If__________Then

a((i - 2) * n + j - 1) = a((i - 1) * n + j - 1) + a((i - 2) * n + j - 1)

Else

a((i - 2) * n + j - 1) = a((i - 1) * n + j) + a((i - 2) * n + j - 1)

End If

Next j

Next i
__________
End Sub
请回答下列问题:
(1)若数字金字塔如图   ,输出路径最大值是______________________。
(2)请在①②③划线处填入合适的代码。

同类题5

(加试题)火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:

有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:
(1)A、B都是不大于1000的正整数,若数值非零,则最高位不能是0  
(2)摆放“+”与“=”各使用两根火柴棒
(3)A+B=C 与 B+A=C 视为相同的等式
(4)n根火柴棒必须全部用上
小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。
(1)请在划线处填入合适的代码。①__________,②__________,③________;
(2)某次运行程序时,显示的等式中包含“7+17=24”,根据程序分析,输入的n的值为:______
Dim sz(0 To 9) As Integer   ’数组元素sz(i)用于存储数字i所使用的火柴棒的数量
Private Sub Form_Load()
sz(0) = 6  :  sz(1) = 2  :   sz(2) = 5  :   sz(3) = 5  :  sz(4) = 4
sz(5) = 5  :  sz(6) = 6  :   sz(7) = 3  :   sz(8) = 7  :  sz(9) = 6
End Sub
‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量
Function hcs(ByVal x As Integer) As Integer  
Dim s As Integer,k as integer
s = 0
Do While
k = x Mod 10
s=s+sz(k)
x = x \ 10
Loop
hcs = s + sz(x)
End Function
Private Sub Command1_Click()
Dim n As Integer
Dim a As Integer, b As Integer, c As Integer
n = Val(Text1.Text)
ans = 0
List1.Clear
For a = 0 To 999
For b =       To 999
c = a + b
If      Then    
List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))
ans = ans + 1
End If
Next b
Next a
List1.AddItem ("共有" + Str(ans) + "种等式")
End Sub