用筛选法求100之内的素数c语言
时间: 2023-12-03 13:38:26 浏览: 57
以下是使用筛选法求100以内素数的C语言代码:
```c
#include <stdio.h>
int main() {
int a[101] = {0}; // 初始化数组,0表示素数,1表示非素数
int i, j;
for (i = 2; i < 101; i++) {
if (a[i] == 0) { // 如果i是素数
for (j = i * 2; j < 101; j += i) { // 将i的倍数标记为非素数
a[j] = 1;
}
}
}
for (i = 2; i < 101; i++) {
if (a[i] == 0) { // 输出素数
printf("%d是素数\n", i);
}
}
return 0;
}
```
相关问题
C语言用筛选法求100之内的素数
```
#include <stdio.h>
int main() {
int prime[101]; // 用于记录素数
int i, j;
// 初始化数组,将所有数都标记为素数
for (i = 2; i <= 100; i++) {
prime[i] = 1;
}
// 筛选素数
for (i = 2; i <= 100; i++) {
if (prime[i]) { // 如果当前数是素数
// 将当前数的倍数标记为非素数
for (j = 2 * i; j <= 100; j += i) {
prime[j] = 0;
}
}
}
// 输出素数
printf("1~100之间的素数有:\n");
for (i = 2; i <= 100; i++) {
if (prime[i]) { // 如果当前数是素数
printf("%d ", i); // 输出该数
}
}
return 0;
}
```
用c语言代码并用筛选法求100之内的素数
好的,以下是用C语言实现的筛选法求100以内的素数的代码:
```c
#include <stdio.h>
#include <stdbool.h>
int main() {
bool isPrime[101]; // 用于存储1~100中每个数是否为素数
int i, j;
// 初始化,将所有数都视为素数
for (i = 2; i <= 100; i++) {
isPrime[i] = true;
}
// 筛选法求素数
for (i = 2; i <= 100; i++) {
if (isPrime[i]) { // 如果i是素数
for (j = i * 2; j <= 100; j += i) { // 将i的倍数全部标记为合数
isPrime[j] = false;
}
}
}
// 输出素数
for (i = 2; i <= 100; i++) {
if (isPrime[i]) {
printf("%d ", i);
}
}
return 0;
}
```
输出结果为:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
希望我的代码能够帮助到您!