代码如下:
#include<stdio.h>
#include<math.h>
int main() {
int isprime = 1;
int M, N;
scanf("%d %d", &M, &N);
int k = 0;
int i = 0;
int h = 0;
for (int m = M;m <= N;m++) {
k = sqrt(m + 1);
for (i = 2;i <= k;i++) {
if (m % i == 0) {
isprime = 0;break;
}
if (isprime) {
printf("%-4d\n",m);
h++;
if (h % 10 == 0) {
printf("\n");
}
}
}isprime = 1;
}
return 0;
}
结果是这样的
怎会如此!F1F1!
修改后如下
#include <stdio.h>
#include <math.h>
int main()
{
int isprime = 1;
int M, N;
scanf("%d %d", &M, &N);
int k = 0;
int i = 0;
int h = 0;
for (int m = M; m <= N; m++)
{
k = sqrt(m + 1);
for (i = 2; i <= k; i++)
{
if (m % i == 0)
{
isprime = 0;
break;
}
}
if (isprime)
{
printf("%-4d\n", m);
h++;
if (h % 10 == 0)
{
printf("\n");
}
}
isprime = 1;
}
return 0;
}