#include #include using namespace std; bool check(int n) { int a[10], cnt = 0; while (n) { a[cnt++] = n % 10; n /= 10; } sort(a, a + cnt); if (a[0] == 0) return false; // 前导数字不能为0 do { int t = 0; for (int i = 0; i < cnt; i++) { t = (t << 1) + a[i]; // 计算新数字 if (t == 1) continue; // 特判1,1不是2的幂次方 if ((t & (t - 1)) == 0) return true; // 判断是否为2的幂次方 } } while (next_permutation(a, a + cnt)); // 生成全排列 return false; } int main() { int n; cin >> n; if (check(n)) cout << 1 << endl; else cout << 0 << endl; return 0;

为了平衡卷王对课程压力的影响一些反卷斗士自发地组成了反卷者联盟。在反卷者联盟中每一个反卷斗士都是二进制天选之子。为了防止卷王发现潜伏在其中的反卷斗士反卷斗士之间有自己独特的相互验证方式。具体验证方式为:如果一个学生的学工号一个整数的各个数字经过重新排序后并且前导数字不能为0得到的新数字是2的幂次方则这个学生就是反卷斗士这也是二进制天选之子名字的由来。现在你是反卷者联盟的一员给你一个整数n即学生的学

原文地址: https://www.cveoy.top/t/topic/eeWM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录