你和幾個朋友,還有朋友的朋友,正要一起成立一個祕密的程式設計社團。 由於不是每個人都彼此認識,你和朋友們決定設計一套祕密握手暗號,用來辨認對方是不是社團的一員。 你不希望任何不知情的人有辦法破解這套暗號。
你們把暗號設計成這樣:其中一個人說出 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。wink。那是剛才最後一個位數,所以最終的暗號是:
wink, jump
給定數字 26,其二進位是11010,我們會得到以下動作:
因此,數字 26 的祕密握手暗號是:
jump, double blink
如果你不確定二進位是什麼,或它如何運作,請參考這個二進位教學。