1)整数之间的素数 描述:求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出每句代码都加注释
时间: 2024-02-09 14:11:08 浏览: 63
好的,这里是使用 C 语言编写的求指定区间内的素数的代码,并且每句代码都加上了注释:
```c
#include <stdio.h>
// 判断一个数是否为素数,是则返回 1,否则返回 0
int is_prime(int n)
{
int i;
// 如果n小于2,不是素数,直接返回0
if (n < 2) {
return 0;
}
// 如果n等于2,是素数,直接返回1
if (n == 2) {
return 1;
}
// 如果n为偶数,不是素数,直接返回0
if (n % 2 == 0) {
return 0;
}
// 如果n为奇数,从3开始枚举到sqrt(n),判断是否能被整除
for (i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return 0;
}
}
// 如果n不能被2到sqrt(n)之间的奇数整除,是素数,返回1
return 1;
}
// 求指定区间内的素数
void print_primes(int m, int n)
{
int count = 0; // 记录已输出的素数个数
int i;
for (i = m; i <= n; i++) {
if (is_prime(i)) { // 判断i是否为素数
printf("%-6d", i); // 输出i,占6列
count++; // 素数个数加1
if (count % 5 == 0) { // 如果已输出5个素数,换行
printf("\n");
}
}
}
if (count % 5 != 0) { // 如果最后一行不足5个素数,再输出换行
printf("\n");
}
}
int main()
{
int m, n;
printf("请输入两个整数m和n(m <= n):");
scanf("%d %d", &m, &n);
printf("%d到%d之间的素数有:\n", m, n);
print_primes(m, n); // 输出指定区间内的素数
return 0;
}
```
以上代码中,is_prime函数用于判断一个数是否为素数,print_primes函数用于输出指定区间内的素数。在主函数中,我们先输入两个整数m和n,然后输出m到n之间的素数。如果已输出的素数个数为5的倍数,我们就换行输出。最后如果最后一行不足5个素数,我们再输出一个换行。
阅读全文