计算一个区间内素数的个数并求和,用C语言
时间: 2024-10-24 09:15:07 浏览: 25
统计给定整数M和N区间内素数的个数并对它们求和-C语言代码
在C语言中,计算一个区间内的素数个数并求和可以采用以下步骤:
1. 定义一个函数`isPrime()`来判断一个整数是否为素数。这个函数会检查从2到该数平方根的所有整数,如果能被整除则不是素数。
```c
#include <stdbool.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;
}
```
2. 定义主函数`countAndSumPrimes(int start, int end)`,接受两个参数表示区间范围。遍历区间内的每个数,如果是素数就增加计数器,并将素数累加到总和中。
```c
int countAndSumPrimes(int start, int end) {
int primeCount = 0;
long long primeSum = 0;
for (int i = start; i <= end; i++) {
if (isPrime(i))
{
primeCount++;
primeSum += i;
}
}
return primeCount, primeSum;
}
```
3. 调用`countAndSumPrimes()`函数,传入你想要查找素数的区间范围,比如`(start, end)`。
```c
int main() {
int start = 10;
int end = 50;
int primeCount, primeSum;
primeCount = primeSum = countAndSumPrimes(start, end);
printf("区间 [%d, %d] 内的素数个数: %d\n", start, end, primeCount);
printf("素数之和: %lld\n", primeSum);
return 0;
}
```
阅读全文