循环左移,但是默认的是无符号左移,那怎么办呢? 就左移的时候检查一下最高位是不是1,如果是1,咱们末尾给他补上就得了呗。用x << 1 | 1就可以给末尾补1且左移了。 所以,答案就是,两个数a,b,让b循环左移16次,如果16次内任何一次使得a和b相同了那么就输出YES。否则NO。 #include <iostream> using namespace std; int main() { unsigned short a, b; while (cin >> a >> b) { bool flag = ...