#include<stdio.h>
int main(){
int const n=10;
int a[n]={0};
int i,j=0;
//i<sqrt(n),即i<n/i;
for (i=2;i<=n/i;i++){
if(!a[i-1]){
//若i=3,从9开始筛,因为,i*2,在前面已经筛过了,为了不重复筛,写成i*i。
for (j=i*i;j<=n;j+=i){
a[j-1]=1;
}
}
}
for (i=1;i<=n; i++){
if (a[i-1]==0){
printf("%d\n",i);
}
}
return 0;
}
【C语言】埃拉托色尼筛法
于 2024-01-18 11:19:37 首次发布