4.素数问题:输入2个正整数m和n(1<=m<=n<=500),输出m到n的全部素数,每行输出10个。
核心代码:使用二层循环嵌套,外层循环遍历m~n之间的所有质数,而内层循环对其中的每个数判断其是否是素数。
for (k = m; k <= n; k++) {
if (k <= 1) {
flag = 0;
}
else if (k == 2) {
flag = 1;
}
else {
flag = 1;
limit = k / 2 + 1;
for (int i = 2; i < limit; i++) {
if (k%i == 0) {
flag = 0;
break;
}
}
}
if (flag == 1) {
printf("%d", k);
count++;
}
if (count % 10 == 0) {
printf("\n");
}
}
#include<stdio.h>
int main() {
int k,flag,m,n,limit,count;
printf("enter m n:\n");
scanf("%d%d", &m,&n);
count = 0;
if (m < 1 || n>500 || m > n) {
printf("wrong\n");
}
else {
for (k = m; k <= n; k++) {
if (k <= 1) {
flag = 0;
}
else if (k == 2) {
flag = 1;
}
else {
flag = 1;
limit = k / 2 + 1;
for (int i = 2; i < limit; i++) {
if (k%i == 0) {
flag = 0;
break;
}
}
}
if (flag == 1) {
printf("%d", k);
count++;
}
if (count % 10 == 0) {
printf("\n");
}
}
}
return 0;
}