c语言求前n个自然数中的素数和
时间: 2024-09-10 12:28:17 浏览: 107
求n以内最大的k个素数以及它们的和(C)
在C语言中,求前n个自然数中的素数和,首先需要编写一个函数判断一个数是否为素数,然后遍历从2到n的所有整数,如果是素数则累加到总和中。以下是基本步骤:
1. 定义一个函数 `is_prime()` 来检查一个数是否为素数。通常,我们会检查小于等于该数平方根的整数,因为大于这个范围的因子一定是成对出现的。
```c
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;
}
```
2. 然后编写主程序,初始化一个变量 `sum` 用于存储素数之和,并从2开始计数,直到n:
```c
#include <stdio.h>
int main() {
int n, count = 0, sum = 0;
printf("请输入n:");
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
sum += i;
count++;
}
}
printf("前%d个自然数中的素数和为:%d\n", count, sum);
return 0;
}
```
阅读全文