福州名匠装饰公司网站:有分拿啊!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 18:41:35
vb题。
这是求素数的程序代码,请哪位高人帮我解释一下为什么要这样编写,各句的意思和作用是什么!!谢谢了。解释的好加分!!!
Private Sub Command2_Click()
Dim n%, i%, tag As Boolean, j%
n = 0
For j = 2 To 100
tag = True
For i = 2 To Sqr(j)
If j Mod i = 0 Then
tag = False
Exit For
End If
Next
If tag = True Then
Print j,
n = n + 1
If n Mod 4 = 0 Then Print
End If
Next
End Sub

这是输出从1到100的素数的VB程序代码啊!

判别某数m是否为素数最简单的方法是:
对于j是否为素数. 从i=2,3,…,sqr(j),,判别m能否被i整除,只要有一个能整除 ,m不是素数,否则m是素数。
For j = 2 To 100
tag = True
For i = 2 To Sqr(j)
If j Mod i = 0 Then
tag = False
Exit For
End If
Next
If tag = True Then
Print j,
-----------------------
素数的输出:每4个一行:
n = n + 1
If n Mod 4 = 0 Then Print
End If
Next

FT什么水平啊。这样的程序都不懂啊。

Private Sub Command2_Click()
Dim n%, i%, tag As Boolean, j% 简略定义:%是整数的意思
n = 0 n是打到第几个
For j = 2 To 100 计算从2到一百的素数
tag = True tag是判断是否为素数。不是为false
'============================
二楼说的:
'对于j是否为素数. 从i=2,3,…,sqr(j),,判别m能否被i整除,只要有一个能整除 ,m不是素数,否则m是素数。
'============================
For i = 2 To Sqr(j)

If j Mod i = 0 Then
tag = False
Exit For
End If
Next
If tag = True Then
Print j,
n = n + 1 每打印一个N的个数加一

If n Mod 4 = 0 Then Print 每隔4个 打印一个空行
End If
Next
End Sub

核心代码:
For j = 2 To 100
tag = True
'刚开始把是否是素数的标签设为是
For i = 2 To Sqr(j)
'从2到j的开平方的一个循环
If j Mod i = 0 Then
tag = False
Exit For
'如果j能除得开i,j就不是素数
End If
Next
If tag = True Then
Print j

这个问题还不错