أنت تؤسس نادي برمجة سريًا مع بعض أصدقائك وأصدقاء أصدقائك. لا يعرف الجميع بعضهم بعضًا، لذلك قررت أنت وأصدقاؤك إنشاء مصافحة سرية تستخدمونها للتعرف على أن شخصًا ما عضو في النادي. لا تريد أن يتمكن أي شخص غير مطّلع على السر من فك شفرة الكود.
لقد صممت الكود بحيث يقول أحد الأشخاص عددًا بين 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.double blink.jump.كان ذلك آخر رقم، لذا يكون الكود النهائي:
wink, jump
إذا أخذنا العدد 26، وهو 11010 في النظام الثنائي، نحصل على الحركات التالية:
double blinkjumpلذا تكون المصافحة السرية للعدد 26 هي:
jump, double blink
إن لم تكن متأكدًا مما هو النظام الثنائي أو كيف يعمل، فراجع هذا الدرس حول النظام الثنائي.
سجّل في Exercism لتتعلّم وتتقن Ruby عبر 21 مفهومًا121 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.