用c语言分行输出指定范围内所有的素数(每行 5 个数)。 输入格式: 输入整数 m 和 n(0<m<n<65535)。 输出格式: 每行输出 5 个素数,每个数占用 8 格。若 m 和 n 不满足 0<m<n<65535,则输出 Error
时间: 2024-02-24 21:59:30 浏览: 28
很高兴能够为您提供帮助!以下是 C 语言实现分行输出指定范围内素数的代码:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
int sqr = sqrt(num);
for (int i = 2; i <= sqr; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
scanf("%d%d", &m, &n);
if (m <= 0 || n >= 65535 || m >= n) {
printf("Error\n");
return 0;
}
int count = 0;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%8d", i);
count++;
if (count % 5 == 0) {
printf("\n");
}
}
}
if (count % 5 != 0) {
printf("\n");
}
return 0;
}
```
这段代码与前一段代码几乎相同,只是在 `is_prime` 函数中使用了更高效的判断方法,即只需要遍历到该数的平方根即可。这样可以减少不必要的循环次数,提高程序效率。
希望这个代码可以满足您的需求!
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)