Option Explicit
Private Sub Command1_Click()
  Dim i As Integer, k As Single, n As Integer
  Dim a As Integer, b As Integer
  n = Text1
  a = 10 ^ (n - 1): b = 10 ^ n - 1
  For i = a To b Step 2
   If Pd(i) Then
      k = Sqr(i)
      If k = Int(k) Then
        If Pd1((k)) Then
         Text1.AddItem i & "=" & k & "^2"
        End If
      End If
    End If
   Next i
End Sub
Private Function Pd(n As Integer) As Boolean
  Dim j As Integer, s As String, k As Integer
  s = CStr(n)
  For j = 1 To Len(s)
     k = Val(Mid(s, j, 1))
     If k Mod 2 <> 0 Then Exit For
  Next j
  If j > Len(s) Then Pd = True
End Function
Private Function Pd1(n As Integer) As Boolean
  Dim j As Integer, s As String, k As Integer
  s = CStr(n)
  For j = 1 To Len(s)
     k = Val(Mid(s, j, 1))
     If k Mod 2 <> 0 Then Exit For
  Next j
  If j > Len(s) Then Pd1 = True
End Function
Private Sub Command2_Click()
   Text2 = " ": List1.Clear: Text1.SetFocus
End Sub
Private Sub Command3_Click()
   Unload Me
End Sub具体的界面设计为:
文本框,列表框,标签1,加上三个按钮,分别为执行,清空,终止。

解决方案 »

  1.   

    结贴吧
    Option Explicit
    Private Sub Command1_Click()
      Dim i As Integer, k As Single, n As Integer
      Dim a As Integer, b As Integer
      n = Val(Text1)
      a = 10 ^ (n - 1): b = 10 ^ n - 1
      For i = a To b Step 2
       If Pd(i) Then
          k = Sqr(i)
          If k = Int(k) Then
            If Pd1((k)) Then
             List1.AddItem i & "=" & k & "^2"
            End If
          End If
        End If
       Next i
    End Sub
    Private Function Pd(n As Integer) As Boolean
      Dim j As Integer, s As String, k As Integer
      s = CStr(n)
      For j = 1 To Len(s)
         k = Val(Mid(s, j, 1))
         If k Mod 2 <> 0 Then Exit For
      Next j
      If j > Len(s) Then Pd = True
    End Function
    Private Function Pd1(n As Integer) As Boolean
      Dim j As Integer, s As String, k As Integer
      s = CStr(n)
      For j = 1 To Len(s)
         k = Val(Mid(s, j, 1))
         If k Mod 2 <> 0 Then Exit For
      Next j
      If j > Len(s) Then Pd1 = True
    End Function
    Private Sub Command2_Click()
       Text1 = " ": List1.Clear: Text1.SetFocus
    End Sub
    Private Sub Command3_Click()
       Unload Me
    End Sub
      

  2.   


    Private Sub Command1_Click()
      Dim i As Integer, k As Single, n As Integer
      Dim a As Integer, b As Integer
      n = Text1
      a = 10 ^ (n - 1): b = 10 ^ n - 1
      For i = a To b Step 2
       If Pd(i) Then
          k = Sqr(i)
          If k = Int(k) Then
            If Pd1((k)) Then
               List1.AddItem i & "=" & k & "^2"
              End If
          End If
        End If
       Next i
    End Sub在text1输入数字
      

  3.   

    Private Sub Command1_Click()
      Dim i As Integer, k As Single, n As Integer
      Dim a As Integer, b As Integer
      n = Text1
      a = 10 ^ (n - 1): b = 10 ^ n - 1
      For i = a To b Step 2
       If Pd(i) Then
          k = Sqr(i)
          If k = Int(k) Then
            If Pd1((k)) Then
               List1.AddItem i & "=" & k & "^2"
              End If
          End If
        End If
       Next i
    End Sub