c语言1000以内素数
时间: 2024-01-06 07:24:47 浏览: 81
以下是两种C语言求1000以内素数的例子:
方式一:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) { // 0和1都不是素数
return 0;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int sum = 0;
for (int i = 1; i <= 1000; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("1000以内全体素数之和为:%d\n", sum);
return 0;
}
```
方式二:
```c
#include <stdio.h>
int main() {
int sum = 0;
int is_prime[1001]; // 用数组记录每个数是否是素数,1表示是素数,0表示不是
for (int i = 0; i <= 1000; i++) {
is_prime[i] = 1;
}
is_prime[0] = is_prime[1] = 0; // 0和1都不是素数
for (int i = 2; i <= 1000; i++) {
if (is_prime[i]) { // 如果i是素数,将i的倍数全部标记为合数
for (int j = i * i; j <= 1000; j += i) {
is_prime[j] = 0;
}
}
}
for (int i = 1; i <= 1000; i++) {
if (is_prime[i]) {
sum += i;
}
}
printf("1000以内全体素数之和为:%d\n", sum);
return 0;
}
```
阅读全文