c语言怎么输出500以内素数
时间: 2024-11-24 17:02:42 浏览: 33
在 C 语言中,我们可以使用 Sieve of Eratosthenes 算法来找出小于等于给定范围 (比如 500) 的所有素数。这是一个经典的算法,通过不断排除合数来找到素数。
以下是一个简单的示例程序,演示如何编写一个函数来输出 500 以内的素数:
```c
#include <stdio.h>
// Function to find prime numbers up to given limit
void printPrimes(int n) {
// 创建一个布尔数组 "isPrime[0..n]",并假设所有数字都是素数
int isPrime[n+1];
for(int i=0; i<=n; i++)
isPrime[i] = 1;
// 标记 0 和 1 为非素数
isPrime[0] = isPrime[1] = 0;
// 遍历从 2 到 sqrt(n),并标记其倍数为非素数
for(int p=2; p*p<=n; p++) {
if(isPrime[p]) {
for(int i=p*p; i<=n; i += p)
isPrime[i] = 0;
}
}
// 输出所有的素数
printf("Prime numbers below %d are:\n", n);
for(int p=2; p<=n; p++)
if(isPrime[p])
printf("%d ", p);
}
int main() {
int limit = 500;
printPrimes(limit);
return 0;
}
```
当你运行这个程序,它会输出 500 以内的所有素数。
阅读全文