统计素数并求和c语言
时间: 2024-10-21 16:03:09 浏览: 47
统计素数并求和 C语言.docx
在C语言中,计算素数并将它们相加通常涉及以下几个步骤:
1. **定义函数**:
- `is_prime()` 函数用于检查一个数是否是素数。
- `sum_primes(n)` 函数接收一个整数`n`作为参数,生成并计算从2到`n`之间的所有素数之和。
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
long long sum_primes(int n) {
long long prime_sum = 0;
for (int i = 2; i <= n; i++) {
if (is_prime(i))
prime_sum += i;
}
return prime_sum;
}
int main() {
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
long long result = sum_primes(input);
printf("2到%d之间素数的和为:%lld\n", input, result);
return 0;
}
```
**注意事项**:
- 该程序首先判断输入的数是否小于等于1,因为1不是素数。
- 素数测试只需要检查到`sqrt(num)`即可,因为如果`num`有因子大于它的平方根,那么它必然也有一个小于平方根的因子。
- 使用`long long`数据类型来保存素数和结果,防止溢出。
阅读全文