提交时间:2024-08-19 13:54:53

运行 ID: 166357

#include <iostream> #include <cmath> using namespace std; int main() { int t; long long n; bool flag = false; cin >> t; while (t --) { flag = false; cin >> n; n --; if (n > 0 && (n & -n) == n) { cout << "Yes" << endl; continue; } n ++; if (n & 1) { cout << "No" << endl; continue; } for (int i = 1 ; i <= n >> 1 ; i ++) { for (int j = i ; j <= n >> 1 ; j ++) { if ((long long)pow(2,i) + (long long)pow(2,j) == n) { cout << "Yes" << endl; flag = true; } if (flag) break; } if (flag) break; } if (!flag) cout << "No" << endl; } return 0; }