أنت تؤسس نادي برمجة سريًا مع بعض أصدقائك وأصدقاء أصدقائك. لا يعرف الجميع بعضهم بعضًا، لذلك قررت أنت وأصدقاؤك إنشاء مصافحة سرية تستخدمونها للتعرف على أن شخصًا ما عضو في النادي. لا تريد أن يتمكن أي شخص غير مطّلع على السر من فك شفرة الكود.
لقد صممت الكود بحيث يقول أحد الأشخاص عددًا بين 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.كان ذلك آخر رقم، لذا يكون الكود النهائي:
wink, jump
بالنظر إلى العدد 26، الذي هو 11010 في النظام الثنائي، نحصل على الحركات التالية:
لذا تكون المصافحة السرية للعدد 26:
jump, double blink
إذا لم تكن متأكدًا مما هو النظام الثنائي أو كيف يعمل، فألقِ نظرة على [هذا الدرس التمهيدي عن النظام الثنائي][intro-to-binary]. [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa
سجّل في Exercism لتتعلّم وتتقن Delphi Pascal عبر 76 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.