某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False。 Function prime(a As Integer)As Boolean Dim k As Integer,isprime As Boolean If a<2Then

admin2017-03-26  35

问题 某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False。
Function prime(a As Integer)As Boolean
Dim k As Integer,isprime As Boolean
If a<2Then
isprime=False
Else
isprime=True
k=2
Do While k<a/2And isprime
If a Mod k=0Then
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也是素数,因此不符合素数的定义。
转载请注明原文地址:https://kaotiyun.com/show/QmGp777K
0

最新回复(0)