C语言求200000以内所有素数和
时间: 2023-09-09 20:08:04 浏览: 102
以下是使用C语言求200000以内所有素数和的代码:
```c
#include <stdio.h>
int main()
{
int i, j, n;
long long sum = 0; // 用于存储素数的和
printf("请输入一个整数n(n <= 200000):");
scanf("%d", &n);
// 判断2~n之间的所有数是否为素数
for (i = 2; i <= n; i++) {
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) { // 如果i能被j整除,则i不是素数
break;
}
}
if (j > i / 2) { // 如果i不能被2~i/2之间的任何数整除,则i是素数
sum += i; // 将素数累加到sum中
}
}
printf("200000以内所有素数的和为:%lld\n", sum);
return 0;
}
```
该程序先从用户输入一个整数n,然后依次判断2~n之间的每个数是否为素数,如果是素数就将其累加到sum中。最后输出200000以内所有素数的和。
相关问题
c语言求51以内所有素数之和
以下是C语言求51以内所有素数之和的代码:
```c
#include <stdio.h>
int main()
{
int i, j, sum = 0;
for (i = 2; i <= 51; i++) {
for (j = 2; j <= i; j++) {
if (i % j == 0 && i != j) {
break;
}
}
if (i == j) {
sum += i;
}
}
printf("51以内所有素数之和为:%d\n", sum);
return 0;
}
```
代码解释:
首先定义了三个变量i、j和sum,其中i用于循环判断每个数是否为素数,j用于循环判断i是否为素数,sum用于累加素数的和。
然后使用两个for循环,外层循环从2开始到51,内层循环从2开始到i,判断i是否能被j整除且i不等于j,如果满足条件则跳出内层循环,否则继续循环。如果i等于j,则说明i是素数,将其加入sum中。
最后输出51以内所有素数之和。
C语言求51以内所有素数之和
以下是C语言求51以内所有素数之和的代码:
```c
#include <stdio.h>
int main()
{
int i, j, sum = 0;
for (i = 2; i <= 51; i++) {
for (j = 2; j <= i; j++) {
if (i % j == 0 && i != j) {
break;
}
}
if (i == j) {
sum += i;
}
}
printf("51以内所有素数之和为:%d\n", sum);
return 0;
}
```
运行结果为:51以内所有素数之和为:328。
阅读全文