统计素数并求和。输入两个正整效m和n(1≤m≤n≤500),统计给定整数m和n 区间内素数的个数并对它们求。用C语言编写相应程序
时间: 2024-10-28 14:10:38 浏览: 31
在C语言中,我们可以编写一个函数来检查一个数是否是素数,然后遍历给定范围内的所有数,统计并计算素数之和。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdbool.h> // 使用bool类型
// 检查是否为素数的辅助函数
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 count_and_sum_primes(int m, int n) {
int prime_count = 0;
int sum_of_primes = 0;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
prime_count++;
sum_of_primes += i;
}
}
return prime_count, sum_of_primes;
}
int main() {
int m, n;
printf("请输入范围的起点(m): ");
scanf("%d", &m);
printf("请输入范围的终点(n): ");
scanf("%d", &n);
int prime_count, total_sum;
prime_count = total_sum = count_and_sum_primes(m, n)[0];
printf("在区间 [%d, %d]内,共有 %d 个素数,它们的和为 %d。\n",
m, n, prime_count, total_sum);
return 0;
}
阅读全文