用c语言求100至200间的素数
时间: 2023-11-20 07:07:00 浏览: 36
您可以使用以下代码求解:
```
#include <stdio.h>
#include <math.h>
int main() {
int i, j, flag;
for (i = 100; i <= 200; i++) {
flag = 1;
for (j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d\n", i);
}
}
return 0;
}
```
该代码使用了一种称为素数筛法的方法来查找从100到200的素数。它首先遍历从100到200的数,然后对每个数进行判断。如果该数可以被2到该数的平方根之间的任何数整除,则该数不是素数。如果该数是素数,则通过printf()函数打印该数。
相关问题
用C语言求 100-200 间的所有质数
好的,这个问题属于数学/计算机科学,我可以回答。以下是用C语言求100-200间所有质数的代码:
```c
#include <stdio.h>
int main() {
int prime, i, j;
for (i = 100; i <= 200; i++) {
prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
prime = 0;
break;
}
}
if (prime == 1) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
运行结果如下:
```
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
```
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;
}
```