C语言范围内质数求和
时间: 2024-10-10 21:17:39 浏览: 12
在C语言中,求范围内的质数之和通常涉及到两个核心步骤:判断一个数是否为质数以及遍历指定范围内的所有数字并计算它们的和。下面是一个简单的示例程序,用于计算从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;
}
// 求范围内质数之和的主函数
int prime_sum(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (is_prime(i))
sum += i;
}
return sum;
}
int main() {
int range_start, range_end;
printf("请输入范围开始值:");
scanf("%d", &range_start);
printf("请输入范围结束值(大于开始值):");
scanf("%d", &range_end);
int result = prime_sum(range_start, range_end);
printf("范围 (%d, %d] 内的所有质数之和为:%d\n", range_start, range_end, result);
return 0;
}
```
在这个程序中,`is_prime`函数用于检查给定数是否为质数,`prime_sum`函数则用于计算指定范围内的所有质数之和。用户会被提示输入范围的起始和结束值,然后程序会输出结果。
阅读全文