Sub 猴子分桃()
For y = 1 To 10000
i = y 'i的初始值为第五只猴子拿走桃子后留下的桃子数,因为求的是最小数所以我们可以把它设得很大
For x = 1 To 5
j = 3 + i / 4 'j为猴子分的桃子数
k = i + j
i = k
Next
If Int(k) = k Then
MsgBox "这堆桃子的最小值为:" & i
Exit For
End If
Next
先在SHEET1中设置如下公式:
开始时数量 顺序 剩余
=B11+C11 =3+C11/4
=B12+C12 =3+C12/4 =A11
=B13+C13 =3+C13/4 =A12
=B14+C14 =3+C14/4 =A13
=B15+C15 =3+C15/4 =A14
然后再用VBA代码
Sub 分桃()
Dim i As Integer
Dim j As Integer
For i = 1 To 10000
Cells(11, 3).Value = i
j = Cells(15, 1).Value
If Int(j) = j Then
Exit For
End If
Next i
End Sub
两者结合是不是更方便,请高手指正,这样也可以是6只,7只猴子也分了