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

admin2018-05-08  68

问题 某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False。
Function prime(a As Integer)As Boolean
Dim k As Integer,isprime As Boolean
Ifa<2 Then
isprime=False
Else
isprime=True
k=2
Do While k<a/2 And isprime
If aModk=0Then
isprime=False
Else
k=k+1
EndIf
Loop
EndIf
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://jikaoti.com/ti/04y0FFFM
0

最新回复(0)