sumprimes 素数求和函数 c语言函数部分
时间: 2024-10-21 13:09:55 浏览: 13
在C语言中,编写一个名为`sumprimes`的函数用于计算素数序列的和,可以采用如下的步骤:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数的辅助函数
bool is_prime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) { // 优化:只需检查到√n即可
if (n % i == 0)
return false;
}
return true;
}
// sumprimes 函数
unsigned long long sum_primes(int limit) {
unsigned long long sum = 0;
for (int i = 2; i <= limit; i++) { // 从2开始,素数序列的首项
if (is_prime(i))
sum += i;
}
return sum;
}
int main() {
int number_limit;
printf("Enter the upper limit for prime numbers to sum: ");
scanf("%d", &number_limit);
unsigned long long result = sum_primes(number_limit);
printf("The sum of prime numbers up to %d is: %llu\n", number_limit, result);
return 0;
}
```
这个程序首先定义了一个辅助函数`is_prime()`用于判断整数是否为素数,然后在`sum_primes()`函数中遍历指定范围内的所有数字,如果数字是素数就累加到总和。最后,在主函数`main()`中获取用户输入并打印结果。
阅读全文