求100以内的素数输出c语言
时间: 2024-01-05 22:05:14 浏览: 41
以下是求100以内素数的C语言代码:
```c
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 100; i++) {
flag = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
该代码使用了两个for循环,外层循环从2到100遍历每个数,内层循环从2到当前数-1,判断当前数是否为素数。如果当前数能被2到当前数-1之间的任意一个数整除,则不是素数,将flag标记为0,跳出内层循环。如果内层循环结束后flag仍为1,则说明当前数是素数,输出该数。
相关问题
求100以内的素数c语言数组
以下是求100以内素数的C语言程序,使用的是埃氏筛法:
```c
#include <stdio.h>
int main() {
int n = 100;
int pri[101] = {0}; // 0表示素数,1表示合数
for (int i = 2; i <= n; i++) {
if (!pri[i]) { // 如果i是素数
for (int j = i * i; j <= n; j += i) { // 将i的倍数标记为合数
pri[j] = 1;
}
}
}
for (int i = 2; i <= n; i++) {
if (!pri[i]) { // 输出所有素数
printf("%d ", i);
}
}
return 0;
}
```
求100以内的素数c语言山科
要求100以内的素数,可以使用筛选法来解决。具体步骤如下:
1. 定义一个长度为100的数组,用来存储每个数是否为素数。
2. 将数组中的所有元素初始化为1,表示所有数都是素数。
3. 从2开始,将数组中2的倍数、3的倍数、4的倍数……都标记为非素数。
4. 输出数组中值为1的元素的下标,即为100以内的素数。
以下是示例代码:
```
#include <stdio.h>
int main() {
int prime[100] = {1}; // 初始化数组,0表示非素数,1表示素数
int i, j;
for (i = 2; i < 100; i++) {
if (prime[i] == 0) continue; // 如果已经被标记为非素数,则跳过
for (j = i * 2; j < 100; j += i) {
prime[j] = 0; // 标记为非素数
}
}
printf("100以内的素数有:\n");
for (i = 2; i < 100; i++) {
if (prime[i] == 1) printf("%d ", i);
}
printf("\n");
return 0;
}
```