11,848
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'有五个小于100的质数,
'随便3个的和是3的倍数,
'随便4个的和是4的倍数,
'其中一个是13,
'五个质数的和是几。
Button1.Text = "穷尽质数"
Button2.Text = "计算"
DataGridView1.Columns.Add("1", "13")
DataGridView1.Columns.Add("a(m)", "第一个数")
DataGridView1.Columns.Add("a(n)", "第二个数")
DataGridView1.Columns.Add("a(p)", "第三个数")
DataGridView1.Columns.Add("a(q)", "第四个数")
DataGridView1.Columns.Add("sum", "总和")
Dim a(100) As Integer
Dim t As Integer
a(0) = 2
Dim p As Integer = 1
For i As Integer = 3 To 99
For t = 1 To i
If i Mod t = 0 And t <> 1 And t <> i Then
Exit For
End If
If t = i Then
a(p) = i
p = p + 1
End If
Next
Next
For i As Integer = 0 To a.Length - 1
If a(i) <> 0 Then ListBox1.Items.Add(a(i).ToString)
Next
Button1.Text = ListBox1.Items.Count - 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim a(ListBox1.Items.Count - 1) As Integer
For i As Integer = 0 To a.Length - 1
a(i) = Val(ListBox1.Items(i))
Next
Dim t As Integer = 0
Dim m, n, p, q As Integer
m = n = p = q = 0
For m = 0 To a.Length - 1
For n = m + 1 To a.Length - 1
For p = n + 1 To a.Length - 1
For q = p + 1 To a.Length - 1
If a(m) <> 13 And a(n) <> 13 And a(p) <> 13 And a(q) <> 13 Then
If (a(m) + a(n) + a(p) + a(q)) Mod 4 = 0 And (13 + a(n) + a(p) + a(q)) Mod 4 = 0 And (13 + a(m) + a(p) + a(q)) Mod 4 = 0 And (13 + a(m) + a(n) + a(q)) Mod 4 = 0 And (13 + a(m) + a(p) + a(n)) Mod 4 = 0 Then
If (a(m) + a(p) + a(n)) Mod 3 = 0 And (a(m) + a(n) + a(q)) Mod 3 = 0 And (a(m) + a(p) + a(q)) Mod 3 = 0 And (a(n) + a(p) + a(q)) Mod 3 = 0 Then
If (13 + a(p) + a(q)) Mod 3 = 0 And (a(m) + 13 + a(q)) Mod 3 = 0 And (a(n) + a(q) + 13) Mod 3 = 0 Then
If (13 + a(p) + a(m)) Mod 3 = 0 And (a(p) + 13 + a(n)) Mod 3 = 0 And (a(m) + 13 + a(n)) Mod 3 = 0 Then
DataGridView1.Rows.Add()
DataGridView1.Rows(t).Cells(0).Value = "13"
DataGridView1.Rows(t).Cells(1).Value = a(m)
DataGridView1.Rows(t).Cells(2).Value = a(n)
DataGridView1.Rows(t).Cells(3).Value = a(p)
DataGridView1.Rows(t).Cells(4).Value = a(q)
DataGridView1.Rows(t).Cells(5).Value = a(m) + a(n) + a(p) + a(q) + 13
t = t + 1
End If
End If
End If
End If
End If
Next
Next
Next
Next
End Sub
End Class