#include <iostream>
#include <cstring>
#include <cstdio>
#define ll long long
using namespace std;
ll m,n,tmp,a[10000001];
int euler(int x){
ll res = x,i;
for(i=2;i *i<=x;i++)
if(x%i==0){
x/=i ;
res=res-res/i;
while(x%i==0)
x/=i;
}
if (x>1)
res=res-res/x;
return res;
}
int main()
{
cin>>m;
for(ll i=1;i<=m;i++)
{
cin>>tmp;
if(tmp==1) { cout<<"No"<<endl; continue;}
if(tmp==2) { cout<<"Yes"<<endl; continue;}
if(euler(tmp)!=tmp-1) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
return 0;
}
欧拉函数筛选素数
最新推荐文章于 2022-05-21 15:08:51 发布