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 &]]

posted on 2011-01-07 12:52  大宝pku  阅读(338)  评论(0编辑  收藏  举报

导航