题目描述
输出n1到n2之间的素数。
输入
两个整数n1,n2
输出
n1,n2之间所有的素数
每5个数输出为一行
样例输入
20 100
样例输出复制
23 29 31 37 41
43 47 53 59 61
67 71 73 79 83
89 97
代码
#include <stdio.h>
int main() {
int n1, n2;
scanf("%d %d", &n1, &n2);
int i, j;
int count = 0;
for (i = n1; i < n2; i++) {
for (j = 2; j <= i; j++) {
if (i % j == 0 && j != i) {
break;
}
if (j == i) {
printf("%d ", i);
count++;
if (count % 5 == 0) {
printf("\n");
}
}
}
}
return 0;
}
gcc环境能成功
改:
g++环境,需要添加换行,即最后素数提取完毕后仍然需要换行。
#include <stdio.h>
int main() {
int n1, n2;
scanf("%d %d", &n1, &n2);
int i, j;
int count = 0;
for (i = n1; i < n2; i++) {
for (j = 2; j <= i; j++) {
if (i % j == 0 && j != i) {
break;
}
if (j == i) {
printf("%d ", i);
count++;
if (count % 5 == 0 || i == n2) {
printf("\n");
}
}
}
}
return 0;
}