给定一个正整数 \(n\) ,询问是否存在一个 \(> 1\) 的奇数因子。
在唯一分解定理下观察 \(n\) ,发现若存在除 \(2\) 以外的质因子,则 \(n\) 存在 \(> 1\) 的奇数因子。
换句话说 \(n\) 不是二次幂形式则存在 \(> 1\) 的奇数因子。
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;
}