A-A+

下列程序的功能是求出所有的1~100之间的孪生素数。孪生素数是指两个素数的差为2 如3和5

2022-08-12 20:13:11 问答库 阅读 197 次

问题详情

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


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:prime(i) And prime(i+2) n Mod i=0
此题prime函数用来判断参数n是否为素数,如果是,则返回True,否则返回0,判断素数的算法请参看相应章节,[15]处应填“nModi=0”。要找出100以内的所有孪生素数,可采用以下方法:可用循环变量i从第一个素数3开始判断该数和它的下一个奇数(只有奇数才有可能是素数)是否同时为素数,如果是,则把该数和它的下一个奇数输出,然后循环变量加2,接着进行判断……,此处判断某数是否为素数,可以通过调用函数Prime来实现,故[14]处应填“prime(i)Andprime(i+2)”。

考点:素数,两个