作业帮 > 综合 > 作业

vf 判断一个大于等于3的自然数是否为素数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 05:46:46
vf 判断一个大于等于3的自然数是否为素数
clear
input “请输入自然数( > = 3) :” to n
f = 0
i = 2
do while i < = int(sqrt(n))
if mod(n,1) < > 0
i = i + 1
loop
else
f = 1
exit
endif
enddo
if f = 0
str(n,1) + “是素数”
else
str(n,1) + “不是素数”
endif
return
为什么是int(sqrt(n))?
若一个大于等于3的自然数可以分解成两个自然数的乘积,
则一个小于等于它的算术平方根,另一个大于等于它的算术平方根,这必然是成对出现的,
所以,只需要考察小于等于它的算术平方根的自然数能否被它整除即可.