#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<stdbool.h>
bool* As_sieve()
{
bool* IsPrime = (bool*)malloc(sizeof(bool) * 100001);
memset(IsPrime, true, sizeof(IsPrime));
IsPrime[0] = false; IsPrime[1] = false;
for (int i = 2; i < sqrt(100001); i++)
{
if(IsPrime[i])
for (int j = i * i; j < 100001; j+=i)
IsPrime[j] = false;
}
return IsPrime;
}
int main()
{
int n;
scanf("%d", &n);
int flag = 0;
bool* Prime = As_sieve();
for (int i = 0; i <n; i++)
{
int num;
scanf("%d",&num);
if (Prime[num])
if (!flag++)
printf("%d", num);
else
printf(" %d", num);
}
return 0;
}
本地IDE是能输出样例二的,但是洛谷IDE会无输出,哪里出问题了,求教