计算m到n之间所有素数的和,其中 2 <= m <=n <=100 输入格式: 请在这里写输入格式。例如:输入两个正整数 输出格式: 请在这里描述输出格式。例如:输出两个正整数之间的素数和。
时间: 2024-11-04 18:10:25 浏览: 67
编程求解1到n之间所有素数之和
在C语言中,我们可以使用循环和条件判断来找出给定范围内的所有质数(素数),然后求和。这里是一个简单的算法:
输入格式:
用户会被提示输入两个正整数`m`和`n`,通常是以空格分隔的形式,例如:"2 50"。
输出格式:
程序会输出`m`和`n`之间所有质数的和,如果范围内没有质数,则输出0或相应的提示信息。
以下是一个示例代码来实现这个功能:
```c
#include <stdio.h>
// 判断是否为质数的辅助函数
int is_prime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
// 计算并输出m到n之间的质数和
int main() {
int m, n, sum = 0;
// 输入m和n
printf("请输入两个正整数 (m <= n, 2 <= m <= 100): ");
scanf("%d %d", &m, &n);
// 检查输入的有效性
if (m < 2 || m > n || n > 100) {
printf("无效输入,请确保2 <= m <= n <= 100.\n");
return 1;
}
// 遍历范围内的每个数,如果是质数则加到总和中
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
sum += i;
}
}
// 输出结果
printf("从%d到%d之间的所有质数之和是: %d\n", m, n, sum);
return 0;
}
```
阅读全文