ট্র্যাক
/
Delphi Pascal
Delphi Pascal
/
অনুশীলনী
/
গোপন হ্যান্ডশেক
গোপন হ্যান্ডশেক

গোপন হ্যান্ডশেক

সহজ

ভূমিকা

আপনি কিছু বন্ধু এবং বন্ধুদের বন্ধুদের নিয়ে একটি গোপন কোডিং ক্লাব শুরু করছেন। সবাই একে অন্যকে চেনে না, তাই আপনি আর আপনার বন্ধুরা মিলে সিদ্ধান্ত নিয়েছেন যে একটি গোপন হ্যান্ডশেক বানাবেন, যা দিয়ে চিনতে পারবেন যে কেউ এই ক্লাবের সদস্য। আপনি চান না যে এই গোপন বিষয়টি না-জানা কেউ কোডটি ভেঙে ফেলতে পারে।

আপনি কোডটি এমনভাবে সাজিয়েছেন যে একজন ১ থেকে ৩১-এর মধ্যে একটি সংখ্যা বলে, আর অন্য জন সেটিকে কয়েকটি অ্যাকশনের ক্রমে রূপান্তর করে।

নির্দেশনা

আপনার কাজ হলো ১ থেকে ৩১-এর মধ্যে একটি সংখ্যাকে গোপন হ্যান্ডশেকের অ্যাকশনের একটি ক্রমে রূপান্তর করা।

সংখ্যাটিকে বাইনারিতে রূপান্তর করার পর তার সবচেয়ে ডান দিকের পাঁচটি ডিজিট দেখে অ্যাকশনের ক্রমটি বেছে নেওয়া হয়। সবচেয়ে ডান দিকের ডিজিট থেকে শুরু করুন এবং বাম দিকে এগিয়ে যান।

সংখ্যাটির প্রতিটি স্থানের জন্য অ্যাকশনগুলো হলো:

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

২৬ সংখ্যাটি দেওয়া হলে, যেটি বাইনারিতে 11010, আমরা নিচের অ্যাকশনগুলো পাই:

  • double blink
  • jump
  • অ্যাকশনগুলো উল্টো করা

সুতরাং ২৬-এর গোপন হ্যান্ডশেক হলো:

jump, double blink
Note

বাইনারি কী বা এটি কীভাবে কাজ করে তা নিয়ে নিশ্চিত না হলে, [এই বাইনারি টিউটোরিয়ালটি][intro-to-binary] দেখুন। [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa


সূত্র

Mary Poppins-এর Bert.লিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Delphi Pascal Exercism

গোপন হ্যান্ডশেক শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Delphi Pascal ট্র্যাকের 76টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।