用C语言统计素数并求和,输入在一行中给出两个正整数M和N(1≤M≤N≤500),在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
时间: 2024-12-18 09:35:52 浏览: 4
在C语言中,我们可以编写一个程序来统计给定范围内的素数并计算其和。首先,我们需要了解什么是素数,素数是指大于1的自然数,除了1和它本身以外不再有其他因子。下面是一个简单的步骤来实现这个功能:
1. 定义一个函数`isPrime()`用于检查一个数是否为素数。
2. 使用循环遍历从M到N的所有整数,对每个数调用`isPrime()`函数。
3. 如果`isPrime()`返回true,说明该数是素数,增加素数计数器`count`并累加到总和变量`s`中。
4. 遍历结束后,输出素数的数量`count`,以及素数之和`s`。
以下是对应的C代码示例:
```c
#include <stdio.h>
// 判断一个数是否为素数的函数
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
int main() {
int M, N, count = 0, sum = 0;
scanf("%d%d", &M, &N);
// 遍历并统计素数
for (int i = M; i <= N; i++) {
if (isPrime(i)) {
count++;
sum += i;
}
}
printf("素数个数: %d 素数之和: %d\n", count, sum);
return 0;
}
```
阅读全文