C语言整数之间的素数 描述:求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出。
时间: 2024-01-21 16:20:02 浏览: 86
以下是C语言的代码实现:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) return 0; // 小于等于1的数不是素数
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0; // 有因数,不是素数
}
}
return 1; // 没有因数,是素数
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
int count = 0; // 记录每行输出的数量
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%6d", i);
count++;
if (count == 5) { // 每行输出5个数据
printf("\n");
count = 0;
}
}
}
if (count != 0) { // 最后一行不足5个数据时,换行
printf("\n");
}
return 0;
}
```
思路解析:
首先定义一个函数 `is_prime`,用于判断一个数是否是素数。判断方法是从 2 到根号下这个数进行循环,如果有因数就返回 0,否则返回 1。
然后在主函数中读入 m 和 n,从 m 到 n 进行循环判断每个数是否是素数,如果是素数就输出,并记录输出的数量。每行输出 5 个数据,如果数量达到了 5 就换行。最后如果最后一行不足 5 个数据,也要换行。
注意数据的对齐问题,每个数据占 6 列。
阅读全文