Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <cmath>
- #define F(W) for(int i(0);i<W;++i)
- #define FF(W) for(int j(0);j<W;++j)
- #define FT(I,W) for(int k(I);k<W;++k)
- typedef long long ll;
- ll a,f[128],H[128],L;
- #define MX (1<<17)
- ll P[MX],LL,cn[MX]={1,1};
- void gen(void){
- for(int i(2);i<MX;++i)
- if(!cn[i]){
- P[LL++]=i;
- for(int j(i<<1);j<MX;j+=i)
- cn[j]=1;
- }
- }
- bool sl(ll n){
- ll t(1);
- for(ll i(L=0),ct(0);P[i]*P[i]<=n;++i,ct=0){
- while(!(n%P[i]))
- n/=P[i],++ct;
- t*=ct+1;
- }
- if(n!=1)t*=2;
- return t&1;
- }
- int main(void) {
- gen();
- while(scanf("%lld",&a),a)
- printf("%s\n",sl(a)?"yes":"no");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement