求100至200的全部素数,c语言
时间: 2023-11-20 07:04:34 浏览: 79
好的,您可以参考以下代码实现:
```
#include <stdio.h>
int main() {
int i, j, flag;
printf("100到200的素数: ");
for (i = 100; i <= 200; i++) {
flag = 0;
for (j = 2; j <= i/2; j++) {
if (i % j == 0) {
flag = 1;
break;
}
}
if (flag == 0) {
printf("%d ", i);
}
}
return 0;
}
```
该程序通过循环遍历100至200之间的所有整数,判断每个数是否是素数,如果是则输出。判断素数的方法为判断该数是否可以被2至自身的一半中的任何一个数整除。如果都不能整除,说明该数是素数。
注意,该程序中的循环变量i只从100到200,因此只输出100至200的素数。如果要输出指定范围内的素数,只需修改循环变量i和j的范围即可。
相关问题
求100-200之间全部素数C语言
以下是两种求100-200之间全部素数的C语言代码:
1.方法一:
```c
#include <stdio.h>
int main() {
int i = 0;
for (i = 100; i <= 200; i++) {
int j = 0;
for (j = 2; j <= i; j++) {
if (i % j == 0) {
break;
}
}
if (i == j) {
printf("%d ", i);
}
}
return 0;
}
```
2.方法二:
```c
#include <stdio.h>
#include <math.h>
int main() {
int count = 0;
int i = 0;
for (i = 100; i <= 200; i++) {
int flag = 1;
int j = 0;
for (j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
count++;
printf("%d ", i);
}
}
printf("\ncount:%d\n", count);
return 0;
}
```
c语言求100~200间的全部素数
以下是C语言求100~200间的全部素数的代码示例:
```c
#include <stdio.h>
#define N 200
int main() {
// 标记数组,prime[i]为true表示i是素数,否则为合数
bool prime[N + 1];
for (int i = 2; i <= N; i++) {
prime[i] = true;
}
// 埃氏筛
for (int i = 2; i * i <= N; i++) {
if (prime[i]) {
for (int j = i * i; j <= N; j += i) {
prime[j] = false;
}
}
}
// 输出100~200间的素数
for (int i = 100; i <= N; i++) {
if (prime[i]) {
printf("%d ", i);
}
}
return 0;
}
```