[填空题] 下列程序的功能是求出所有的1~100之间的孪生素数。孪生素数是指两个素数的差为2,如3和5,11和13等,请填空。
Private Sub Form_Click()
Dim i As Integer
For i=3 To 97 Step 2
If 【14】 Then
Print i,i+2
End If
Next i
End Sub
Public Function prime(ByVal n As Integer)As Boolean
Dim i As Integer
For i=2 To n-1
If 【15】 Then
Exit For
End If
Next i
If i=n Then
prime=True
Else
prime=False
End If
正确答案:[14] prime(i) And prime(i+2) [15]n Mod i=0
参考解析:此题prime函数用来判断参数n是否为素数,如果是,则返回True,否则返回0,判断素数的算法请参看相应章节,[15]处应填“n Mod i=0”。要找出100以内的所有孪生素数,可采用以下方法:可用循环变量i从第一个素数3开始判断该数和它的下一个奇数(只有奇数才有可能是素数)是否同时为素数,如果是,则把该数和它的下一个奇数输出,然后循环变量加2,接着进行判断……,此处判断某数是否为素数,可以通过调用函数Prime来实现,故[14]处应填“prime(i)And prime(i+2)”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)