[填空题] 下列程序的功能是求出所有的1~100之间的孪生素数。孪生素数是指两个素数的差为2,如3和5,11和13等,请填空。 Private Sub Form_Click() Dim i As

16 查阅

[填空题] 下列程序的功能是求出所有的1~100之间的孪生素数。孪生素数是指两个素数的差为2,如3和5,11和13等,请填空。 Private Sub Form_Click() Dim i As Integer For i=3 To 97 Step 2If 【14】 Then Print i,i+2End 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)”。

计算机考试