Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166480 | 李澄 | 二进制半整数 | C++ | 解答错误 | 0 | 9 MS | 248 KB | 632 | 2024-08-19 14:39:30 |
#include <bits/stdc++.h> using namespace std; long long a[70]; int main() { a[0] = 1; for (int i = 1; i <= 62; i++) { a[i] = a[i - 1] * 2; } int t; cin >> t; while (t--) { long long n; cin >> n; bool flag = false; for (int i = 0; i <= 61; i++) { for (int j = 0; j <= 61; j++) { if (a[i] + a[j] == n) { flag = true; i = 61; } if (a[i] + a[j] > n) j = 61; } } if (flag || n == 0 || n == 1) cout << "Yes" << endl; else cout << "No" << endl; } return 0; }