Codeforces Round #697 (Div. 3)

A. Odd Divisor
题目问一个数有没有奇数除数(大于1),官方解得好!如果有大于1的奇数除数,就意味着有一个奇数素数除数。而素数中只有2是偶数,所以数应为2的n次幂。(把数拆成若干个素数的乘积,算术基本定理还比较重要)

代码

int main()
{
	ios::sync_with_stdio(false); cin.tie(nullptr);
	int t;
	cin >> t;
	while (t--) {
		ll x;
		cin >> x;
		if (x & (x - 1) )
			cout << "YES" << endl;
		else
			cout << "NO" << endl;
	}
}     
  
原文地址:https://www.cnblogs.com/lingshi321/p/15012987.html