题目
思路
注意这里是找第m个素数到第n个素数,不是m到n中的素数
明确题意后就比较简单,先找到第m个素数,再从第m个素数开始录入n-m+1个素数,再将其打印即可
#include<stdio.h>
#include<stdlib.h>
int judge(int i)
{
if (i == 1)
return 0;
for (int j = 2; j * j <= i; j++)
if (i % j == 0)
return 0;
return 1;
}
int main(void)
{
int m, n;
int i, j;
scanf("%d%d", &m, &n);
int size = n - m + 1;
int* res = (int*)malloc(size * sizeof(int));
for (j = 1, i = 0; i < m; j++)
if (judge(j))
i++;
for (j = j - 1, i = 0; i <= size - 1; j++)
if (judge(j))
res[i++] = j;
for (j = 0; j < i; j++)
{
if (j == i - 1)
printf("%d", res[j]);
else if (j % 10 == 9)
printf("%d\n", res[j]);
else
printf("%d ", res[j]);
}
return 0;
}