问题 填空题

某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False Function prime(a As Integer) As BooleanDim k As Integer,ispfime As BooleanIf a<2 Then isprime=FalseElse isprime=Tme k=2 Do While k<a/2 And isprimeIf a Mod k=0 Then isprime=FalseElse k==k+1End IfLoop End If End Function 在测试时发现有一个非素数也被判断为素数,这个错判的数是 【15】

答案

参考答案:D

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

问答题
多项选择题