c语言输出300以内的全部素数
时间: 2023-08-28 09:06:38 浏览: 57
下面是一个输出300以内全部素数的C语言代码实现:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 300; i++) {
is_prime = 1; // 假设 i 是素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0; // i 不是素数
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
程序从2开始遍历到300,对于每个数字i,内部再次循环从2到i-1,判断i是否能被这些数整除,如果能整除则i不是素数,否则i是素数,将其输出即可。
相关问题
用c语言输出100以内全部素数
以下是用 C 语言输出 100 以内全部素数的代码:
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
for (int i = 2; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
这个程序会输出所有 100 以内的素数,结果为:
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)。