用C语言计算100到300之间的素数之和
时间: 2024-05-09 08:17:36 浏览: 8
```c
#include <stdio.h>
int main() {
int i, j, sum = 0;
for (i = 100; i <= 300; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) { // 不是素数
break;
}
}
if (j == i) { // 是素数
sum += i;
}
}
printf("100到300之间的素数之和为:%d", sum);
return 0;
}
```
相关问题
c语言计算100到200之间的素数之和
```
#include <stdio.h>
int main() {
int i, j, sum = 0;
for (i = 100; i <= 200; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) {
break;
}
}
if (j == i) {
sum += i;
}
}
printf("100到200之间的素数之和为:%d\n", sum);
return 0;
}
```
运行结果:
```
100到200之间的素数之和为:1060
```
c语言计算100到200之间所有素数
以下是两种C语言计算100到200之间所有素数的例子:
1. 试除法
```c
#include <stdio.h>
int main() {
int i, j, count = 0;
for (i = 101; i < 200; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) {
break;
}
}
if (i == j) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("%d", count);
return 0;
}
```
2. 优化一
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, j, count = 0;
for (i = 101; i < 200; i += 2) {
for (j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
break;
}
}
if (j > sqrt(i)) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("%d", count);
return 0;
}
```