c语言求给定俩整数之间素数之和
时间: 2023-06-12 21:02:10 浏览: 93
好的,我明白了。对于您的问题,我可以给出以下C语言代码实现:
```
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int start, end, sum = 0;
printf("请输入俩整数:");
scanf("%d %d", &start, &end);
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
sum += i;
}
}
printf("%d到%d之间的所有素数之和为:%d\n", start, end, sum);
return 0;
}
```
思路如下:
首先定义一个函数 `isPrime()` 判断一个数是否是素数,如果是则返回 `true`,否则返回 `false`。接着在主函数中读入俩整数,循环遍历每个整数,如果是素数则将其加入 `sum` 变量中。最后输出结果即可。
希望我的回答可以帮到您,如果您有任何其他问题,请随时提出。
相关问题
C语言求给定正整数m以内的素数之和
以下是使用C语言编写的求给定正整数m以内素数之和的程序:
```c
#include <stdio.h>
int main() {
int m, i, j, sum = 0, flag;
printf("请输入一个正整数m:");
scanf("%d", &m);
for (i = 2; i <= m; i++) {
flag = 1; // 假设i为素数
for (j = 2; j < i; j++) {
if (i % j == 0) { // i能被j整除,说明i不是素数
flag = 0;
break;
}
}
if (flag == 1) { // i为素数,累加到sum中
sum += i;
}
}
printf("小于等于%d的素数之和为:%d\n", m, sum);
return 0;
}
```
该程序通过两层循环,判断每个正整数是否为素数,如果是素数就加到sum中。其中,flag变量用于判断i是否为素数,如果flag为1,则说明i为素数,否则不是素数。最后,输出小于等于给定正整数m的素数之和。
用c语言求给定整数M和N区间内素数的个数
以下是使用C语言实现的求给定整数M和N区间内素数的个数的程序:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int count_primes(int m, int n) {
int count = 0;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
count++;
}
}
return count;
}
int main() {
int m, n;
printf("请输入区间的左右端点:\n");
scanf("%d %d", &m, &n);
printf("%d 到 %d 区间内的素数个数为:%d\n", m, n, count_primes(m, n));
return 0;
}
```
程序中,is_prime()函数用于判断一个数是否为素数,count_primes()函数用于计算给定区间内素数的个数。在主函数中,先输入区间的左右端点,然后调用count_primes()函数计算素数个数并输出。
阅读全文