#include <stdio.h>
#include <math.h>
#define TRUE 1
#define FALSE 0
int isPrime(int num);
void find_prime(int N, int *array);
int main()
{
int M,N,counter = 1;
scanf("%d %d",&M,&N);
int array[N];
find_prime(N,array);
for(int i = M; i <= N; i++){
printf("%d%c", array[i-1], counter++%10==0 || i==N ?'\n':' ');
}
return 0;
}
void find_prime(int N, int *array)
{
int num = 3, i = 1;
array[0] = 2;
while (N>0) {
if(isPrime(num)){
array[i++] = num;
N--;
num += 2;
}
else
num += 2;
}
}
int isPrime(int num)
{
if(num == 2)
return TRUE;
if( num%2 == 0 )
return FALSE;
for(int i = 3; i <= sqrt(num)+1; i += 2)
if(num%i == 0)
return FALSE;
return TRUE;
}
1013. 数素数(PAT Basic)
最新推荐文章于 2022-11-10 03:28:21 发布