给一个正整数 \(n\) ,判断 \(n\) 是否存在一个 \(> 1\) 的奇数因子。
只要 \(n\) 的唯一分解下存在除 \(2\) 以外的质因子,则 \(n\) 存在 \(>1\) 的奇数因子。
于是 \(n \neq lowbit(n)\) 则 \(n\) 存在奇数因子。(应用了 \(2^k = lowbit(2^k)\) 的性质)
view
#include <bits/stdc++.h>
void solve(){
long long n; std::cin >> n;
std::cout << (n != (n & (-n)) ? "YES" : "NO") << '\n';
}
int main() {
int _ = 1; std::cin >> _;
while (_--) {solve();}
return 0;
}