单选题 某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False。
Function prime(a As Integer)As Boolean
Dim k As Integer,isprime As Boolean
If a<2 Then
isprime=False
Else
isprime=True
k=2
Do While k<a/2 And isprime
If a Mod k=0 Then
isprime=False
Else
k=k+1
End If
Loop
End If
prime=isprime
End Function
在测试时发现有1个非素数也被判断为素数,这个错判的数是______。
  • A.0
  • B.1
  • C.4
  • D.6
【正确答案】 C
【答案解析】[解析] 本题考查循环的运行。如果输入的数据小于2,那么肯定不是素数,更改isprime的值为False。如果数据大于等于2,当等于2时,isprime为True,同时k<a/2不成立,a为2时为素数,当a为4时,k<2不成立,则误判断4也是素数,因此不符合素数的定义。