回 帖 发 新 帖 刷新版面

主题:[讨论]还是课程设计问题,麻烦大家了

题目还是这个:
   一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破;若在第M层不破,则在任何比M低的楼层均不会破.给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层"


Dim k, n, m, i, j As Integer
Private Sub Command1_Click()
Dim i%, j%, k%
i = 0
j = 1
k = 0
If j <= 100 Then
      i = i + 1
      j = j + i
      k = j + 1
Text1.Text = "k"
End If
If j > 0 Then
    k = k + j
    Text2.Text = "k"
    j = j - 1
End If
End Sub

Private Sub Form_Load()
Label1.Caption = "  一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破;若在第M层不破,则在任何比M低的楼层均不会破.给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层"
End Sub

麻烦大家帮我看看这个代码有没有什么问题,谢谢

回复列表 (共3个回复)

沙发

你自己运行以下不就知道有没有问题了?

板凳

其实这个问题就是二叉树问题,用二分法可以求解
这程序缺少循环,还有Text2.Text = "k"应改为Text2.Text = k

3 楼

二分法?
第一次在50层,坏了。
第二次怎么办?
哈哈哈哈

我来回复

您尚未登录,请登录后再回复。点此登录或注册