天天看點

Codeforces Round #697(div.3)A

A. Odd Divisor
                      time limit per test2 seconds
                    memory limit per test256 megabytes
                        inputstandard input
                        outputstandard output      

You are given an integer n. Check if n has an odd divisor, greater than one (does there exist such a number x (x>1) that n is divisible by x and x is odd).

For example, if n=6, then there is x=3. If n=4, then such a number does not exist.

Input

The first line contains one integer t (1≤t≤104) — the number of test cases. Then t test cases follow.

Each test case contains one integer n (2≤n≤1014).

Please note, that the input for some test cases won’t fit into 32-bit integer type, so you should use at least 64-bit integer type in your programming language.

Output

For each test case, output on a separate line:

#include<bits/stdc++.h>
using namespace std;
int flag=0;

int main()
{
  int t;
  scanf("%d",&t);
  while(t--)
  {
    long long n;
    scanf("%lld",&n);
    if(n%2)
    {
      printf("YES\n");
      continue;
    }
    if(n<3)
    {
      printf("NO\n");
      continue;
    }
    int flag=0;
    double f=n*1.0;
    while(f>=3)
    {
      f/=2;
      if((int)(f+0.5)%2)
      {
        flag=1;
        break;
      }
    }
    if(flag==1)
    printf("YES\n");
    else
    printf("NO\n");
  }
}      

繼續閱讀