- Sub test()
- Dim k&, tms#, N&
- [a:b] = ""
- N = InputBox("请输入整数N:", , 100)
- tms = Timer
- Dim a&, b&, p&
-
- 'N=a又p分之b 转化成 (N-a)*p=b ==》p最多4位,a<N
- For a = 1 To N - 1
- For p = 1 To 9876
- b = (N - a) * p
- If Len(a & b & p) = 9 Then
- If Chk(a & b & p) Then k = k + 1: Cells(k, 1) = k: Cells(k, 2) = a & "又" & p & "分之" & b
- End If
- Next
- Next
-
- MsgBox Format(Timer - tms, "0.000s ") & k
- End Sub
- Function Chk(s) As Boolean
- Dim i&
- If InStr(s, "0") Then Exit Function
- For i = 1 To Len(s) - 1
- If InStr(i + 1, s, Mid(s, i, 1)) Then Exit Function
- Next
- Chk = True
- End Function
复制代码 |