筛法求素数的代码
/*用筛法输出1-100之间的所有素数*/
#include<stdio.h>
#define BSSS 1
int main(void) {
int a[100];
int i,j;
for(i=0; i<100; i++) {
//数组中存入1-100
a[i] = i+1;
}
a[0] = BSSS;//1不是素数
for(i=0; i<100; i++) {
if(a[i] == BSSS) {//如果a[i]不是素数,继续循环
continue;
}
else {
for(j=i+a[i]; j<100; j+=a[i]) {//如果是素数,则将其后所有其倍数标记为不是素数
a[j] = BSSS;
}
}
}
for(i=0; i<100; i++) {
//输出
if(a[i] != BSSS) {
printf("%d ",a[i]);
}
}
printf("\n");
return 0;
}