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

admin2018-09-29  27

问题 某人编写如下函数来判断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也是素数,因此不符合素数的定义。
转载请注明原文地址:https://kaotiyun.com/show/sQFp777K
0

最新回复(0)