用c语言输出100到200的素数
时间: 2023-09-08 09:10:19 浏览: 85
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int upper_limit = 200;
int primes[101] = {0};
int count = 0;
for (int i = 2; i <= upper_limit; i++) {
int is_prime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
primes[count++] = i;
}
}
printf("100到200之间的素数有:\n");
for (int i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
return 0;
}
```
运行结果如下:
```
100到200之间的素数有:
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之间的素数。以下是其中几种方法:
1. 第一种方法使用两个for循环,外层循环从100到200,内层循环从2到当前数的前一个数,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n^2)。
2. 第二种方法定义一个函数panduan,用于判断一个数是否为素数。在主函数中使用for循环从100到200,每次调用panduan函数判断当前数是否为素数,如果是则输出。这种方法的时间复杂度为O(n*sqrt(n))。
3. 第三种方法使用一个for循环和一个while循环,外层循环从100到200,内层循环从2到当前数的平方根,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n*sqrt(n))。
4. 第四种方法和第一种方法类似,使用两个for循环,外层循环从100到200,内层循环从2到当前数,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n^2)。
其中第二种和第三种方法的时间复杂度较低,建议使用这两种方法。
C语言输出100到200间素数个数
C语言输出100到200间素数的个数可以通过以下代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
int count = 0;
for (int i = 100; i <= 200; i++) {
int is_prime = 1;
for (int j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime && i != 1) {
count++;
}
}
printf("100到200间素数的个数为:%d\n", count);
return 0;
}
```
其中,我们使用了第三种方法,即通过平方根函数来判断一个数是否为素数。在循环中,我们先将is_prime设为1,表示当前的数是素数。然后从2开始循环到该数的平方根,如果该数能被整除,则将is_prime设为0,表示该数不是素数。最后,如果is_prime为1且该数不等于1,则说明该数是素数,将计数器count加1。最终输出count即可。