mathemtica 使用素数筛求素数

算小于N的质数列表1,创建从2到n的列表

2,令p=2,就是第一个指数

3,把大于P的P的倍数从列表里删除

4,p变成表中剩下的大于p的数

5, 重复3,4

n = 1000;
a = Range[2, n];
p = 2;
While[p < Last@a, 
 a = Complement[a, Select[a, Mod[#, p] == 0 && # > p &]]; 
 p = First@Select[a, # > p &]]

原文地址:https://www.cnblogs.com/dabaopku/p/1929620.html