以下程序的功能是:从键盘任意输入正整数n,并找出大于n的第一个素数。
Private Sub Form_Click()
Dim n As Long, j As Long, m As Long
Dim flag As Boolean
n=InputBox("请输入正整数")
Do While Not flag
(11)
flag=True
i=2
Do While i<n And (12)
If n Mod i=0 Then
(13)
End If
i=i+1
Loop
Loop
Print n
End Sub
参考答案:(11)n=n+1 (12)flag或flag=true (13)flag=false
解析: 要找到大于n的第一个素数,只需要依次对n+1、n+2、n+3…进行判断,第一个素数就是要找的数,所以[11]填n=n+1。判断一个数是否为素数时,首先设置一个标志变量,如本题的flag,先给flag一个值,该值代表n是素数,再用2~n-1之间的数去与n相除,若某数能整除n,则说明n不是素数,这时给标志变量另外一个不同于初始状态的值,代表n不是素数,同时停止判断后续的数字。本题中循环的条件是i<n并且还没有找到某个数i能整除n,即flag还为真值,故[12]空填Flag或Flag=True。语句If n Mod i=0 Then说明n能被i整除,所以[13]空应给flag一个不同于初始状态的值,故[13]空填flag=false。