شما در حال راهاندازی یک باشگاه کدنویسی مخفی با چند دوست و دوستانی از دوستانشان هستید. همه یکدیگر را نمیشناسند، بنابراین شما و دوستانتان تصمیم گرفتهاید یک دستدادن مخفی طراحی کنید که با آن بتوانید تشخیص دهید کسی عضو باشگاه است. نمیخواهید کسی که از ماجرا بیخبر است بتواند رمز را بشکند.
رمز را طوری طراحی کردهاید که یک نفر عددی بین ۱ تا ۳۱ میگوید و نفر دیگر آن را به مجموعهای از حرکات تبدیل میکند.
وظیفهی شما این است که عددی بین ۱ و ۳۱ را به دنبالهای از کارها در دستدادن مخفی تبدیل کنید.
دنبالهی کارها با نگاه کردن به پنج رقم سمت راستِ عدد، پس از تبدیل آن به مبنای دو، انتخاب میشود. از رقم سمت راست شروع کنید و به سمت چپ بروید.
کارهای مربوط به هر جایگاه عددی عبارتاند از:
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
اگر عدد ۲۶ را در نظر بگیریم، که در مبنای دو 11010 است، کارهای زیر به دست میآیند:
بنابراین دستدادن مخفی برای ۲۶ این است:
jump, double blink
اگر مطمئن نیستید مبنای دو چیست یا چگونه کار میکند، این آموزش مبنای دو را ببینید.