简介
你与朋友及朋友的朋友创办了秘密编程俱乐部。大家还不全都认识彼此,于是决定设计一套秘密握手动作来识别成员,又不希望外人轻易破解。
一人说出 1 至 31 之间的数字,另一人把它转换为一系列动作。
任务说明
把 1 至 31 的数字转换为秘密握手动作序列。
先把数字写成二进制,观察最右边五位,从右向左依次处理。
每一位对应的动作如下:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
以数字 9 为例:
- 二进制为
1001。 - 最右位是 1,第一个动作为
wink。 - 向左一位是 0,不做连续眨眼动作。
- 再向左是 0,不做闭眼动作。
- 再向左是 1,因此跳跃。
已经处理完所有位,最终动作是:
wink, jump
数字 26 的二进制为 11010,得到:
- 连续眨眼。
- 跳跃。
- 反转动作顺序。
因此 26 对应的秘密握手是:
jump, double blink
提示:不熟悉二进制时,可以阅读这篇教程。