下列递归算法的功能是计算正整数n阶乘的值,则划线处应填为______________
Function f(n As Integer) As Long
If n < = 1 Then
f = 1
Else
f = _________________
End If
End Function
当前题号:1 | 题型:None | 难度:0.99
算法设计与程序实现
换钱问题:
要将一张100元的钞票,换成等值的5元、2元、1元一张的钞票共50张。其中一种换法如下:
5元:3张
2元:38张
1元:9张
求出所有的换钱方案。
(算法设计)
x表示5元的张数:1≦x≦20;
y表示2元的张数:1≦y≦50;
z表示1元的张数:1≦z≦100。
(参考程序)
Dim x AsInteger
Dim y AsInteger
Dim z As Integer
For x=1 To20
For y=1To 50
Forz=1 To 100
If ______________Then
Print x;y;z ’x y z 之间以分号分隔
End If
Nextz
Next y
Next x
根据上述回答下列问题:
(1)本题采用的算法是_____________(填:解析法/枚举法/排序法/递归法)。
(2)程序代码中空白处应填写的条件是_______________(填写字母:A/B/C/D)。
A  5x + 2y + z=100   Or  x+ y + z = 50
B  5x + 2y + z=100   And x + y + z = 50
C  5*x + 2*y + z=100 Or x + y + z = 50
D  5*x + 2*y + z=100 And  x + y + z = 50
当前题号:2 | 题型:None | 难度:0.99
(加试题)王老师在使用 VB 程序要实现 n! 的功能。
Private Sub Command1_Click()
Dim p As Integer
Dim sum As Long
 p = Val(Text1.Text)
 sum = fx(p)
 Text2.Text = CStr(sum)
End Sub
Function fx(x As Integer) As Long
 If x = 1 Then
    fx = 1
 Else
    fx =____________________
 End If
End Function
要该程序实现此功能,横线处的代码为(  )
A.x(x)*(x-1)B.fx(x)*xC.fx(x-1)*xD.fx(x-1)*(x-1)
当前题号:3 | 题型:选择题 | 难度:0.99
下面程序的功能是:找出10以内的奇数中能被3整除的正整数,并将它们累加起来。为了实现这一目标,请完善下列程序:
x=0
For i=1 to 10 step ____
If _______________________ then x=x+i
Next i
当前题号:4 | 题型:None | 难度:0.99
有如下 VB 程序段:
Private Sub Command1_Click()
Dim i As Integer,s As string
s = ""
For i = 1 To 3 Step 2
s = str(f(i)) + s
Next i
Text1. Text = s
End Sub
Function f(n As Integer) As Integer
If n = 1 Then
f = 2
Else
f = f(n - 1) + n
End If
End Function
则执行该程序段后,s 的值为(   )
A.247B.27C.72D.742
当前题号:5 | 题型:选择题 | 难度:0.99
某VB程序段如下:
Function f (n As Integer) As Long
If n = 1 Then
f = 5
Else
f= 2*f(n-1) – 3
End If
End Function
Private Sub Command1_click()
Dim n As Integer
n = Val (Text1.Text)
Text2. Text = Str(f(n))
End Sub.
该程序段运行后,在文本框Text1中输入5,单击命令按钮Command1后,文本框Text2中显示的是( )
A.18B.35C.63D.123
当前题号:6 | 题型:选择题 | 难度:0.99
对n项(n<=100)数据序列的前x项求和,可设计如下算法:将数据序列存储在数组a中,并按一定规则转换成数组c,再借助数组c实现求和.
将数组a转换成数组c的方法描述如下:
①将数组a中的元素依次存储到数组c中,把当前数组c看作第一层;
②把第一层中的各元素进行如下处理:奇数项值不变,偶数项的值更新为自己与自己前一项的和,将更新后的数组元素看作第二层;
③把第二层中的各元素,按上述方法进行同样操作,更新后的数组元素看作第三层;
④以此类推,直到当前层中仅有一项为止。
例如x=11时,转换过程如图所示:

借助数组c,可快速计算出数组a中前x项的和.例如,数组a中前11项的和,可由表达式c(11)+c(10)+c(8)得到.表达式具体分析过程如下:
②   表达式第一项为c(11);
②将下标11转换成二进制数1011,计算该二进制数最右边的“1”所对应的权值,再用11减去此权值得到10,即表达式第二项为c(10);
③按上述方法继续操作,直到计算结果等于0为止。
小龙依据上述方法设计了如下vb程序.请回答下列问题:
(1)计算数组a中前22项和的表达式为__________________(填写表达式,如c(11)+c(10)+c(8))。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(1 To 1000) As Long, c(1 To 1000) As Long
Private Sub Form_Load()

'读取n个数据,并存储到数组a中(代码略)

End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, space As Integer
For i = 1 To n
c(i) = a(i)
Next i
k = 2  '当前层第一个偶数项的位置
space = 1  '当前层偶数项与前一项的间距
Do While k <= n
For i = k To n Step k
c(i) = c(i) + c(i - space)
Next i
k = k * 2
①______________________
Loop
End Sub
Private Sub Command2_Click()

Dim x As Integer, sum As Long

x = Val(Text1.Text): sum = 0

Do While x <> 0

sum = sum + c(x)
②_________________ 

Loop

Text2.Text = Str(sum)

End Sub
Function lowbit(x As Integer) As Integer

Dim temp As Integer

temp = x: lowbit = 1

Do While ③_______________'

lowbit = lowbit * 2
temp = temp \ 2

Loop

End Function
当前题号:7 | 题型:None | 难度:0.99
选择算法,解决问题。
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:__________(请用英文字母填写)
A.解析法B.递归法C.穷举法D.排序法
搬砖问题:100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小儿抬1块,要求一次全搬完。请问需男、女、小儿各多少人?
当前题号:8 | 题型:填空题 | 难度:0.99
选择算法,解决问题。
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:_____________(请用英文字母填写)
A.解析法B.递归法C.穷举法D.排序法
猴子吃桃问题:
小猴有一天摘了若干个桃子,他非常贪吃,当天就吃掉了一半还多一个;第二天接着吃剩下的桃子一半多一个;以后每天都是如此,到了第七天吃桃子时,却发现只剩下一个。请问,小猴那天一共摘了几个桃子?
当前题号:9 | 题型:填空题 | 难度:0.99
下列VB程序中,f是一个递归函数:
Private Sub Command1_Click()
Dim y As Integer
y = Val(Text1.Text)
Label1.Caption = Str(f(y))
End Sub
Function f(n As Integer) As Integer
If (n =" 1)" Or (n =" 2)" Then
f = 1
Else
f =" f(n" - 1) + f(n - 2)
End If
End Function
程序运行时,在文本框中输入8,单击命令按钮Command1后,Label1中显示的内容是:()
A.5B.8C.13D.21
当前题号:10 | 题型:选择题 | 难度:0.99