Dim i, j, k As Integer
Dim a()
Private Sub cmdend_Click()
End
End Sub
Private Sub cmdstart_Click()
a = Array(20, 10, 2, 8, 22, 16, 4, 10, 6, 14, 20, 10)
k = 0
Tmr1.Enabled = True
pic1.Print "初始值:";
For i = 1 To 10
pic1.Print a(i);
Next i
Print
End Sub
Private Sub Tmr1_Timer()
k = k + 1
j = 0
a(11) = a(1)
pic1.Print
For i = 1 To 10
a(i) = (a(i) + a(i + 1)) / 2
If a(i) Mod 2 = 1 Then a(i) = a(i) + 1
pic1.Print Tab(i * 4); a(i);
If i = 10 Then pic1.Print "(第" & k & "次)";
Next i
a(11) = a(1)
For i = 1 To 10
If a(i) = a(i + 1) Then j = j + 1
Next i
If j = 10 Then
pic1.Print
pic1.Print "经过" & k; "次后,10个小孩手中的糖块数一样。"
pic1.Print "每人手中各有" & a(1) & "块糖。"
Tmr1.Enabled = False
End If
If k > 3000 Then
Tmr1.Enabled = False
MsgBox "已分3000次糖果,还没有得到答案,估计算法有误。", vbOKOnly, "提示"
End If
End Sub
Dim a()
Private Sub cmdend_Click()

End
End Sub
Private Sub cmdstart_Click()
a = Array(20, 10, 2, 8, 22, 16, 4, 10, 6, 14, 20, 10)
k = 0
Tmr1.Enabled = True
pic1.Print "初始值:";
For i = 1 To 10
pic1.Print a(i);
Next i
End Sub
Private Sub Tmr1_Timer()
k = k + 1
j = 0
a(11) = a(1)
pic1.Print
For i = 1 To 10
a(i) = (a(i) + a(i + 1)) / 2
If a(i) Mod 2 = 1 Then a(i) = a(i) + 1
pic1.Print Tab(i * 4); a(i);
If i = 10 Then pic1.Print "(第" & k & "次)";
Next i
a(11) = a(1)
For i = 1 To 10
If a(i) = a(i + 1) Then j = j + 1
Next i
If j = 10 Then
pic1.Print
pic1.Print "经过" & k; "次后,10个小孩手中的糖块数一样。"
pic1.Print "每人手中各有" & a(1) & "块糖。"
Tmr1.Enabled = False
End If
If k > 3000 Then
Tmr1.Enabled = False
MsgBox "已分3000次糖果,还没有得到答案,估计算法有误。", vbOKOnly, "提示"
End If
End Sub