用c语言编写,求100到300所有素数之和
时间: 2024-12-20 14:20:16 浏览: 5
在C语言中,我们可以使用Sieve of Eratosthenes算法(埃拉托斯特尼筛法)来找出100到300之间的所有素数,并计算它们的和。这个算法是一种古老而高效的查找素数的方法。以下是简单的步骤:
```c
#include <stdio.h>
// 定义函数判断是否为素数
int isPrime(int n) {
if (n <= 1) return 0;
if (n == 2 || n == 3) return 1;
if (n % 2 == 0 || n % 3 == 0) return 0;
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0)
return 0;
}
return 1;
}
// 计算素数和
int primeSum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
sum += i;
}
}
return sum;
}
int main() {
int start = 100;
int end = 300;
int result = primeSum(start, end);
printf("100到300之间所有素数的和是:%d\n", result);
return 0;
}
```
在这个程序中,我们首先定义了一个`isPrime`函数用于检查给定的数字是否为素数,然后在`primeSum`函数中遍历指定范围内的数字并累计素数。最后,在`main`函数中调用`primeSum`并打印结果。
阅读全文