积极答复者
If m = 5 Then放在里面外面怎么都一样,谁解释下谢谢

问题
-
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer, j As Integer, m As Integer, t As Boolean
For i = 3 To 100
t = True
For j = 2 To i - 1
If i Mod j = 0 Then t = False
Next
If t = True Then
RichTextBox1.Text = RichTextBox1.Text & i & " "
m = m + 1
End If
If m = 5 Then
m = 0
RichTextBox1.Text = RichTextBox1.Text & vbCr
End If
Next
End Sub‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer, j As Integer, m As Integer, t As Boolean
For i = 3 To 100
t = True
For j = 2 To i - 1
If i Mod j = 0 Then t = False
Next
If t = True Then
RichTextBox1.Text = RichTextBox1.Text & i & " "
m = m + 1
If m = 5 Then
m = 0
RichTextBox1.Text = RichTextBox1.Text & vbCr
End If
End If
Next
End Sub是求3-100的素数
答案
-
t=true 是i为素数的标记,你的代码只将素数打印
通过下面的流程图你就会发现实际上在i为素数时,都是到一行5个数时换行
只不过一个是当为素数时,你判断一下是不是一行有5个数了
另一个逻辑是只要一行打印了5个数就换行,但是你只打印素数,所以结果是一样的,逻辑上其实也是相同的
http://i783.photobucket.com/albums/yy118/cydirac/FlowChart2.jpg
http://i783.photobucket.com/albums/yy118/cydirac/FlowChart1.jpg
- 已标记为答案 Kira Qian 2010年5月21日 9:59
全部回复
-
t=true 是i为素数的标记,你的代码只将素数打印
通过下面的流程图你就会发现实际上在i为素数时,都是到一行5个数时换行
只不过一个是当为素数时,你判断一下是不是一行有5个数了
另一个逻辑是只要一行打印了5个数就换行,但是你只打印素数,所以结果是一样的,逻辑上其实也是相同的
http://i783.photobucket.com/albums/yy118/cydirac/FlowChart2.jpg
http://i783.photobucket.com/albums/yy118/cydirac/FlowChart1.jpg
- 已标记为答案 Kira Qian 2010年5月21日 9:59