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

问题描述:

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))?
1个回答 分类:综合 2014-10-19

问题解答:

我来补答
若一个大于等于3的自然数可以分解成两个自然数的乘积,
则一个小于等于它的算术平方根,另一个大于等于它的算术平方根,这必然是成对出现的,
所以,只需要考察小于等于它的算术平方根的自然数能否被它整除即可.
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识