寻找受潮药瓶:现有5瓶药,每瓶中有20粒药丸,每粒药丸重10克,其中有几瓶药受潮了,受潮的每粒药丸重11克,如何用天平只称一次找出受潮的那几瓶药?解决此问题的方法:将5瓶药编号为1~5号,从中分别取出1、2、4、8、16粒药丸进行称重。在不受潮时应是(1+2+4+8+16)×10=310(克)。假如称出的重量是315克,那么超出的重量是5克,说明有5粒超重,(5)<sub>10</sub>=(00101)<sub>2</sub>,因此受潮的是第1瓶和第3瓶。编写程序模拟此过程,程序运行时,单击“模拟”按钮Command1,在文本框Text1中输出超重克数,在列表框List1中输出药瓶编号,运行界面如图所示。实现上述功能的VB程序如下。
Private Sub Commandl_Click( )
Dim s As Integer, cz As Integer 'cz存储超重克数
Dim k As Integer
'依次从1~5号瓶中取出1、2、4、8、16粒药,并计算总重量,存储在变量s中,代码略
cz=s-310
Text1.Text= ①
k=0
Do While cz<>0
k=k+1
If ② Then List 1.Addltem"第"+Str(k)+"瓶"
cz=cz\2
Loop
End Sub