📅  最后修改于: 2022-03-11 14:46:49.976000             🧑  作者: Mango
#include
using namespace std;
int main()
{
long long int i,j,n;
long long int x;
long long int m=1000001;
//generate prime numbers
vector primes(1000001,true);
set st;
primes[0]=primes[1]=false;
//seive of eratosthenes
for(i=2;i*i<=m;i++)
{
if(primes[i])
{
for(j=i;i*j<=m;j++)
{
primes[i*j]=false;
}
}
}
//put all the t_primes in the set
for(i=2;i<=m;i++)
{
if(primes[i])
st.insert(i*i);
}
cout<<"How many numbers ?"<>n;
while(n--)
{
cout<>x;
if(st.find(x)!=st.end())
cout<