学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
(郊游活动)有 n 名同学参加学校组织的郊游活动,已知学校提供给这 n 名同学的郊游总经费为 cnt 元,与此同时每位同学都自带了部分钱。为了方便郊游,活动地点提供 m(n<=m<=100)辆自行车供人租用,租用每辆自行车也需要花费钱,每位同学可以使用自己携带的钱或者学校的郊游经费,为了方便账务管理,每位同学只能为自己租用自行车,且不会借钱给他人,他们想知道最多有多少位同学能够租用到自行车。
租车原则是首先考虑自带经费少的部分同学优先租相对花费少的自行车,尽量少花学校经费以达到最多同学租车的结果。比如学生带的钱为 9,3,6,7,5,租车的钱分别需要 15,8,12,6,9,11, 如果 5 个人都能租车,至少需要学校提供经费为(6-3)+(8-5)+(9-6)+(11-7)+(12-9)=16,如果学校经费只有 10 元,则自带钱最少的同学不租车,这时所需学校经费为(6-5)+(8-6)+(9-7)+(11-9)=7。计算过程中采用二分查找法来判断租用自行车的人数能否达到最大值。
(1)若 7 位学生自带经费分别为 5,17,15,12,10,9,14,自行车租车费用分别为 27,14, 27,25,17,18,23,21,学校提供经费为 25 元,则最多有________位同学能够租用到自行车。
(2)VB程序代码如下,请在划线处填入合适的代码。
Dim a(1 To 100) As Integer , b(1 To 100) As Integer
Dim n As Integer, m As Integer   
Private Sub Command1_Click()

Dim left As Integer, right As Integer, mid As Integer,ans As Integer

n = Val(Text1.Text): m = Val(Text2.Text)


'从数据库读取 n 位学生带的钱存储在数组 a,m 辆自行车租用的钱存储在数组 b,代码略.
       Call px(a(), n)
       Call px(b(), m)

left = 1: right = n: ans = 0

Do While left <= right


             mid = (left + right) \ 2
             If check(mid) = True Then
                    ______________
                      right = mid – 1
             Else
                      left = mid + 1
   End If
Loop
Label1.Caption = "能租车的最大人数为" + Str(ans)
End Sub
Sub px(d() As Integer, s As Integer)
Dim i as integer,j as integer,k as integer For i = 2 To s
k = d(i)
j = i - 1
Do While k < d(j)
   d(j + 1) = d(j)
   j = j - 1
   If j = 0 Then Exit Do Loop
        ________________
Next i
End Sub
Function check(mid As Integer) As Boolean
Dim cnt As Integer, jf As Integer, t As Integer
cnt = Val(Text3.Text)
For t = 1 To n - mid + 1
   If b(t) > a(mid + t - 1) Then jf = b(t) - a(mid + t - 1) Else jf = 0
   _________________
Next t
If cnt >= 0 Then check = True
End Function
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交