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

admin2013-01-23  36

问题 某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False
Function prime(a As Integer) As Boolean
Dim k As Integer,ispfime As Boolean
If a<2 Then
isprime=False
Else
isprime=Tme
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
End Function
在测试时发现有一个非素数也被判断为素数,这个错判的数是【  】。

选项

答案4

解析 所谓素数就是指只能被1和其本身整除,不能被其他任何数整除的数。本题函数中是先将a与2比较,小于2的返回False,大于2的返回True。再用Do While…Loop循环判断大于4的数是否为素数,所以非素数4就被错判为素数了。如果将程序修改正确,那么循环的条件需要修改为k<=a/2 And isprime。
转载请注明原文地址:https://kaotiyun.com/show/uyhp777K
0

最新回复(0)