Option Explicit Private Sub Command1_Click() Dim x As Double Dim y As Double Dim b As Boolean Dim i As Integer Do x = x + 1 y = x b = False Do For i = 1 To 5 If y < 6 Then Exit Do If (y - 1) Mod 5 = 0 Then y = (4 * y - 4) / 5 Else Exit Do End If Next i If y > 0 Then b = True Loop Until True If b Then Exit Do Loop Until x >= 9999 'x上限也可以超过9999 Print "x=" & x End Sub
楼上两位都是正向推导的啊,就不能逆推回去么,能把循环次数减少到十分之一都不到呢 Do x = x + 1 n = x For i = 5 To 2 Step -1 n = n * 5 + 1 If n Mod 4 <> 0 Then Exit For n = n \ 4 Next i Loop While i > 1 Print n * 5 + 1