Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
166311 A班-黄飞博 二进制半整数 C++ 解答错误 60 1 MS 252 KB 414 2024-08-19 11:18:58

Tests(3/5):


#include <bits/stdc++.h> int main() { int t; long long n; scanf("%d",&t); while(t--){ scanf("%lld",&n); while(!(n&1)) n>>=1; // n=2^i + 2^j = 2^i(1 + 2^(j-i)),先去除2^i n--; // 剩余的数-1 if(!(n&(n-1))) printf("yes\n"); // 判断剩余的数-1后2^(j-i),是否为2的整数幂 else printf("no\n"); } return 0; }


测评信息: