怎么用C语言算100~200的质数
时间: 2023-05-11 16:05:41 浏览: 80
以下是一个用C语言计算100~200的质数的示例代码:
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 100; i <= 200; i++) {
flag = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
这个程序使用了两个嵌套的循环,外层循环从100到200遍历每个数字,内层循环从2到该数字的一半遍历每个可能的因子。如果找到了一个因子,就将flag标记为0,表示该数字不是质数。如果内层循环结束后flag仍然为1,就说明该数字是质数,将其输出即可。
相关问题
c语言求100以内的质数
以下是使用C语言编写的100以内的质数程序:
```c
#include <stdio.h>
int main() {
int i, j, isPrime;
printf("2 ");
for (i = 3; i <= 100; i++) {
isPrime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = 0;
break;
}
}
if (isPrime == 1) {
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
```
c语言输出100以内的质数
有多种方法可以输出100以内的质数,以下是三种常见的方法:
1. 嵌套循环法:外层循环遍历2到100的所有数字,内层循环判断该数字是否为质数。如果是质数,则输出该数字。时间复杂度为O(n^2)。
2. 判断法:定义一个自定义函数isprime,用于判断一个数字是否为质数。然后在主函数中遍历2到100的所有数字,调用isprime函数判断是否为质数,如果是则输出该数字。时间复杂度为O(n*sqrt(n))。
3. 欧拉筛法:定义一个布尔数组isPrime,用于标记每个数字是否为质数。从2开始遍历到100,如果该数字是质数,则将其所有的倍数标记为合数。最后遍历一遍isPrime数组,输出所有标记为质数的数字。时间复杂度为O(n)。
阅读全文