c语言求小于n的全部素数
时间: 2023-12-11 09:25:23 浏览: 121
以下是一个使用 C 语言编写的求小于 n 的全部素数的程序:
```c
#include <stdio.h>
int main()
{
int n, i, j, flag;
printf("请输入一个正整数 n:");
scanf("%d", &n);
/* 在区间 [2, n) 中枚举每个数 */
for (i = 2; i < n; i++) {
flag = 1; /* 假设 i 是素数 */
/* 判断 i 是否能被小于它的数整除 */
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0; /* i 能被 j 整除,说明 i 不是素数 */
break;
}
}
if (flag) {
printf("%d ", i); /* 输出 i */
}
}
return 0;
}
```
程序的流程如下:
1. 首先,从用户输入中读取正整数 n。
2. 然后,在区间 [2, n) 中枚举每个数 i。
3. 对于每个 i,假设它是素数,然后判断它是否能被小于它的数 j 整除。
4. 如果 i 能被 j 整除,说明 i 不是素数,将假设标记 flag 设为 0,退出内层循环。
5. 如果 i 不能被任何小于它的数整除,说明 i 是素数,输出它。
6. 最后,程序结束。
注意,这个程序的时间复杂度是 O(n^2),因此当 n 很大时,运行时间会很长。如果需要更快的算法,可以考虑使用埃拉托色尼筛法、欧拉筛法等高效的算法。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)