Private Sub Command1_Click()
Dim i As Double, j As Double, Peculiar As Double, Uneven As Long, Even As Long, intN As Double
intN = InputBox("Please input a Positive integer N:", "Seek peculiar number", 100)
Me.Label1 = "在1至" & intN & "的整数中所有奇异数(奇数位" + vbCrLf + "之和与偶数位之和均为素数的数)如下:"
For i = 1 To intN
Uneven = 0
Even = 0
For j = 1 To Len(CStr(i))
Uneven = Uneven + Val(Mid(CStr(i), 2 * j - 1, 1))
Even = Even + Val(Mid(CStr(i), 2 * j, 1))
Next j
If IsPrimeNumber(Uneven) And IsPrimeNumber(Even) Then
Me.List1.AddItem i
End If
Next i
End Sub
Private Function IsPrimeNumber(n As Long) As Boolean
Dim i As Long
IsPrimeNumber = True
If n = 0 Or n = 1 Then
IsPrimeNumber = False
Else
For i = 2 To Int(Sqr(n))
If n Mod i = 0 Then
IsPrimeNumber = False
Exit For
End If
Next i
End If
End Function