烟台机场路:怎样知道一个数是否是素数??

来源:百度文库 编辑:高考问答 时间:2024/05/09 04:14:13
有什么计算方法没有?

拿那个数分别去除以2,3,5,7.如果都有余数则这个数一定是一个素数.以下vfp程序将计算出长度小于20位的所有素数并将其结果逐行逐列存入一个有10列的素数表中.
SELECT 1
SET ESCAPE on
USE 素数表.dbf
INSERT blank
DIMENSION a(1)
a=1
f=1
DO while a<99999999999999999999
b=MOD(a,2)
c=MOD(a,3)
d=MOD(a,5)
e=MOD(a,7)
IF b#0.and.c#0.and.d#0.and.e#0.and.a#1.or.a=2.or.a=3.or.a=5.or.a=7
DO case
CASE f=1
g="一"
CASE f=2
g="二"
CASE f=3
g="三"
CASE f=4
g="四"
CASE f=5
g="五"
CASE f=6
g="六"
CASE f=7
g="七"
CASE f=8
g="八"
CASE f=9
g="九"
CASE f=10
g="十"
ENDCASE
GO bott
command1="gather from a"+" fields "+g
&command1
f=f+1
IF f>10
f=1
INSERT blank
ENDIF
ENDIF
a=a+1
ENDDO
=messagebox("长度20位以下(含)的所有素数运算完毕!",0+64+0,"运算完成")
USE
CLOSE all
素数表.dbf结构从略.

先把它开方,得到一个数,取整。
试验每一个比此数小的质数能否整除原数

目前地球上还没人能知道

先设一个变量为a下限为1上限为1000,再设一个变量b下限为2上限为a/2,用a对每个b=b+1循环取余如果不为0则这个a就是素数,然后a=a+1再进行循环直到找到所有素数。

试除法(即榜眼的方法)对于小素数是可行的,但对于大素数来讲(比如100位的数),这种方法将需要数十年的时间.大素数一般用的是p-1法和p+1法,只要一个星期就能算出一个100位数是否素数,但是它只能用来判断,无法找出它的质因数是什么.具体方法我就不贴了,可以搜一搜.

穷举
用程序