跪求用java实现埃拉托色尼筛法啊,请按照图片的中的伪代码敲啊!

2020-10-27 社会 107阅读
我直接现场写的,可能会有点语法错误,你稍微修改一下就好
int[] a = new int[n+1];//0~n
for(int p=2; p<=n; p++) {
a[p]=p;
}
int sqrtN = (int)Math.sqrt(n);//
for(int p=2; p<=sqrtN; p++) {
if(a[p] != 0) {//a[p]=0就代表意见被消除
int j = p*p;
while(j <= n) {
a[j] = 0;
j += p;
}
}
}
List l = new ArrayList();
for(int p=2; p<=n; p++) {
if(a[p] != 0) {
l.add(a[p]);
}
}
return l;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com