用筛选法求1到999的素数的
#include
int main() {
int prime[1000] = ; // 初始化素数数组
int i, j;
for (i = 2; i
if (prime[i] == 0) { // 如果当前数是素数
for (j = i * 2; j
prime[j] = 1; // 将当前数的倍数标记为合数
}
}
}
printf("1到999的素数:\n");
for (i = 2; i
if (prime[i] == 0) {
printf("%d ", i); // 输出素数
}
}
printf("\n");
return 0;
}
筛选法的思路是从2开始,将所有2的倍数标记为合数,然后再找到下一个未标记的数(即3),将所有3的倍数标记为合数,以此类推,直到找到所有小于等于999的素数。在代码中,使用一个长度为1000的数组prime来标记每个数是否是素数。如果prime[i]为0,则表示i是素数;如果prime[i]为1,则表示i是合数。
领取专属 10元无门槛券
私享最新 技术干货