(VP again)
做题速度有待进一步提升。T4 模拟因为位运算的实现有一些问题,导致只拿了 30 分。 T5、T6 使用了 register int,导致无法在 C++17 环境下通过编译,而且优化效果有限,。
错因分析
D. 小苯的左右移动
知识点:位运算,模拟
位运算的位数过多,在不同的编译环境下可能会有问题,注意避免。此外,还不小心把题目看成了“如果 为偶数,则左移,否则右移”。
记录原数字 被左移(右移)的位数
,每次操作结束后如果
,则逐次进行右移操作,每次
,直到
为 0,或
为 0。最后,如果
为 0,则输出 0;否则,输出
。注意这里的
在执行乘法之前需要先取模,不然会爆
long long。

京公网安备 11010502036488号