这个题就是让判断一下某一个数是不是一个素数的平方。
比如 4,9就是2,3,的平方
要把1特判一下,然后就是long long 的重要性。
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<set>
using namespace std;
const int Maxn=10000005;
bool vis[Maxn];
int pr[Maxn>>1];
int main()
{
long long x,n,i,j,k=0;
memset(vis,0,sizeof(vis));
vis[1]=1;//把1标记一下
for(i=2;i<Maxn;i++)
{
if(!vis[i])pr[++k]=i;
for(j=1;j<=k&&pr[j]*i<Maxn;j++)
{
vis[pr[j]*i]=1;
if(i%pr[j]==0)break;
}
}//欧拉筛筛素数
while(scanf("%lld",&n)==1)
{
while(n--)
{