用C语言表示1000以内的素数
时间: 2024-10-10 11:17:17 浏览: 33
在C语言中,我们可以使用“Sieve of Eratosthenes”算法来找出1000以内的所有素数。这是一种简单而高效的查找素数的方法。以下是简单的实现步骤:
```c
#include <stdio.h>
// Function to find prime numbers up to a given limit
void sieve_of_eratosthenes(int n) {
// 创建一个布尔数组 "prime[0..n]" 只有索引 0 到 n-1 初始化为 true
int prime[n];
for (int i = 0; i < n; i++) {
prime[i] = 1;
}
// 从2开始,因为0和1不是素数
for (int p = 2; p * p <= n; p++) {
// 如果 prime[p] 仍然未改变,说明p是素数
if (prime[p] == 1) {
// 标记所有 p 的倍数为非素数
for (int i = p * p; i < n; i += p) {
prime[i] = 0;
}
}
}
// 打印所有的素数
for (int p = 2; p < n; p++) {
if (prime[p]) {
printf("%d ", p);
}
}
}
int main() {
int limit = 1000;
sieve_of_eratosthenes(limit);
return 0;
}
```
当你运行这个程序,它会输出1000以内所有的素数。
阅读全文