RT,题目是输入一个数,判断其能不能被两个质数整除,代码如下:
Dim a, i, c(), s, j, num As Double
Dim flag1, flag2, flag3 As Boolean
flag1 = True
flag2 = True
flag3 = False
a = Val(Text1.Text)
For i = 4 To a - 1
For j = 2 To i - 1
If i Mod j = 0 Then flag1 = False
Next j
If flag1 = True Then
num = num + 1
Else
flag1 = True
End If
Next i
num = num + 2
ReDim c(1 To num)
c(1) = 2
c(2) = 3
s = 3
For i = 4 To a - 1
For j = 2 To i - 1
If i Mod j = 0 Then flag2 = False
Next j
If flag2 = True Then
c(s) = i
s = s + 1
Else
flag2 = True
End If
Next i
For i = 1 To num - 1
For j = i + 1 To num
If c(i) * c(j) = a Then
flag3 = True
MsgBox (Text1.Text + "是" + Trim(Str(c(i))) + "和" + Trim(Str(c(j))) + "这两个质数的积。")
Exit For
End If
Next j
Next i
If flag3 = False Then MsgBox (Text1.Text + "不能由两个质数相乘得到。")
Dim a, i, c(), s, j, num As Double
Dim flag1, flag2, flag3 As Boolean
flag1 = True
flag2 = True
flag3 = False
a = Val(Text1.Text)
For i = 4 To a - 1
For j = 2 To i - 1
If i Mod j = 0 Then flag1 = False
Next j
If flag1 = True Then
num = num + 1
Else
flag1 = True
End If
Next i
num = num + 2
ReDim c(1 To num)
c(1) = 2
c(2) = 3
s = 3
For i = 4 To a - 1
For j = 2 To i - 1
If i Mod j = 0 Then flag2 = False
Next j
If flag2 = True Then
c(s) = i
s = s + 1
Else
flag2 = True
End If
Next i
For i = 1 To num - 1
For j = i + 1 To num
If c(i) * c(j) = a Then
flag3 = True
MsgBox (Text1.Text + "是" + Trim(Str(c(i))) + "和" + Trim(Str(c(j))) + "这两个质数的积。")
Exit For
End If
Next j
Next i
If flag3 = False Then MsgBox (Text1.Text + "不能由两个质数相乘得到。")