其他分享
首页 > 其他分享> > codeforces1475A

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