要求使用数组及增强的for语句。
参考百度搜索,埃拉托斯特尼筛法,Java实现如下:
public class Main{
public static void main(String[] args){
int[] s;
s=new int [101];//定义整形长度为101的数组,同时为数组下标
s[2]=0; //从2开始筛选素数;
int k=2,tt=0;//从2开始作为筛子筛选素数,tt作为循环变量;
while(tt<101){
for(int i=1; i<s.length; i++) //将不是素数的数筛出
if(i%k==0&&i!=k) s[i]=1;
for(int i=1; i<s.length; i++) //将筛选后的第一个数当做新的筛子
if(i>k&&s[i]==0){
k=i;
break;
}
tt++;//自增运算,确定循环次数
}
for(int i=1; i<s.length; i++)
if(s[i]==0&&i!=1) System.out.printf("%d ",i);
}
}