codeforces1475A
作者:互联网
根据算术基本定理推出(因为唯一一个偶素数是二):如果一个数n是2的幂,则该数无奇数因子。
可用n&(n-1)来判断,因为2的幂只在二进制的某一位有值,而(n-1)在除了该位的其他位有值
所以如果该数是2的幂,n&(n-1)=0
#include<iostream>
#include<cmath>
#define int long long
using namespace std;
signed main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
if(n&(n-1))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
标签:cout,int,cin,long,codeforces1475A,include,该数 来源: https://www.cnblogs.com/z218/p/16128294.html