竞赛
考级
对每个数,计算其二进制中 1 的个数和 0 的个数。 1 的个数:可直接用内置函数 __builtin_popcount,或循环统计。 0 的个数:总位数减去 1 的个数。总位数即最高位的位置,可用 31 - __builtin_clz(x) 求得(x>0)。 比较:若 1的个数 > 0的个数,则为 A 类;否则(≤)为 B 类。 因为 n≤10000,即使对每个数逐位统计也完全可行。 最终输出 A 类总数和 B 类总数。
提交答案之后,这里将显示提交结果~