求1000000以内的素数
理论依据:
任何大于等于1的数都可以表示为素数的乘积
这其实是素因式分解的唯一性定理。
若一个数n是素数,显然成立。
若n是合数,则必然可分解成大于1小于n的2个数的乘积,若均是素数,刚好得证,否则其中的合数可再分成范围更小的两个数的乘积,直到都是素数为止。所以n是合数时也成立。
综上得证。
注:0,1既不是素数也不是合数
所以不妨把从2开始的每一个结果作为除数,让下一个数来依次除以它们,如果都除不尽说明这个数就是素数了,再把它加入到素数集
import time
start = time.ti
原创
2022-05-29 14:03:58 ·
665 阅读 ·
0 评论