筛选法,比2~n-1和2~根号n都快一些
#include
int main(){
int i,j;
int N=100;
int arr[N];
for(i = 0;i arr[i]=i+1;
}
arr[0] = 0;//1不是素数,所以将下标0 的元素设置为0
//进行素数判断:我们将从2开始 用2除后面的数,如果后面的数能被2整除 那么那个数一定不是素数,将那个数置为零
for(i = 1;i < N-1;i++){
for(j = i+1;j < N;j++){
if(arr[i] != 0 && arr[j] != 0)//判断arr[j]==0就是已经被前面置为0的非素数,不用再判断了
if(arr[j] % arr[i] == 0){
arr[j] = 0;
}
}
}
//这样我们把非素数的都置0,循环输出非0的就是素数了
for(i = 0;i if(arr[i] != 0)
printf("%d\n",arr[i]);
}
return 0;
}