P5736 【深基7.例2】质数筛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
一般的解决方法
#include<iostream>
using namespace std;
#include<math.h>
bool IfPrime(int x)
{
if (x <=1)
return false;
for (int i = 2; i <= sqrt(x); i++)
{
if (x % i == 0)
return false;
}
return true;
}
int a[100];
int main()
{
int x;
cin >> x;
for (int i = 0; i < x; i++)
{
cin >> a[i];
}
for (int i = 0; i < x; i++)
{
if (IfPrime(a[i]))
cout << a[i] << " ";
}
system("pause");
}
主要的判断函数是
bool IfPrime(int x)
{
if (x <=1)
return false;
for (int i = 2; i <= sqrt(x); i++)
{
if (x % i == 0)
return false;
}
return true;
}
并且包含特判x==1
但是容易TLE;