怎样求素数(文字说明)

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:10:26
不要用代码 语言语言叙述
谢喽 !!
另附vb代码 并详解

素数即质数,只能被1和本身整除的数叫做素数。
以下是VB的代码,可以判断一个数是否是素数

使用:例如:Msgbox isPrime(3) '显示True
Msgbox isPrime(4) '显示False

Function isPrime(n as integer) as boolean
Dim i as integer '循环变量

for i = 2 to sqr(n) '从2开始循环到n的平方根(因为最多平方等于本身,不可能再高了)
if n mod i=0 then '如果这个数能够把n整除
isPrime = false '那么n就不是素数,返回false
exit function '直接退出过程,后面不用计算
end if
next
isPrime = true '现在留下的就是质数(非质数已经退出循环),所以返回true
end function

楼上说得不准确,其实不用一半,用平方根可以减少运算~

Private Sub Form_Click()
a = InputBox("请输入一个整数")
For i = 2 To Int(a ^ 0.5) '循环
If a Mod i = 0 Then 'mod 表示相除以后取余数,能整除则余数为0
Print "不是素数" '那么打印
Exit Sub '同时退出模块
End If
Next i
Print "是素数" '如果没有退出,说明是素数
End Sub

只能被1和本身整除就是素数
那么只要从2开始循环到该数的根号,如果都没有出现能被整除的数这个数就是素数
比如7
13的一半就是6(不是6.5哦),从2开始循环到6,判断这些数是否能被13整除,显然2,3,4,5,6都不能整除