পর্ব ১ | পর্ব ২

কম্পিউটার প্রোগ্রামিংয়ে খুব গুরুত্বপূর্ণ একটি বিষয় সমাধানমুখী চিন্তাভাবনার দক্ষতা অর্থাৎ, যে পথে সমাধান আসবে তা ভেবে উঠতে পারা। কোন একটি প্রোগ্রাম তৈরি করতে গেলে আমরা আমাদের জানা তথ্য, অ্যালগরিদমকে হুবুহু ব্যবহারের সুযোগ পাই না। অনেকগুলো টুকরো টুকরো জানা তথ্যকে সংযুক্ত করে ধীরে ধীরে সমাধানের দিকে এগিয়ে যেতে হয়। এজন্য কোন সীমারেখার ভেতর চিন্তাকে আবদ্ধ না করে কল্পনাকে ছড়িয়ে দিতে হয় চারদিকে। কল্পনাশক্তির মত রঙিন আর সরস কিছুই পারে আপাত নীরস একটি প্রোগ্রামিং সমস্যাকে সমাধান করতে। প্রোগ্রামিংয়ে নিজেদের কল্পনাশক্তিকে প্রসারিত করার একটি উপায় হতে পারে গাণিতিক, যৌক্তিক ও ছবির ধাঁধা (Mathematical, Logical and Visual Puzzles) সমাধানের চেষ্টা করা। আজকের পর্বে আমরা তেমনই কিছু ধাঁধা সমাধান করে কল্পনার জগতে কিছুক্ষণ হলেও থাকার চেষ্টা করব। এখানে চারটি ধাঁধাকে নমুনা সমস্যা হিসেবে নিয়ে সমাধানের পথে কিভাবে এগিয়ে যেতে হবে তা আলোচনা করা হয়েছে। কেউ চাইলে শুধু প্রশ্নটি পড়ে নিজেই সমাধানের চেষ্টা করতে পারেন।

১.

মনে করুন, আপনাকে বলা হল একটি 1 এবং চারটি 7 ব্যবহার করে যেকোন গাণিতিক অপারেটরের (+, -, *, /, !, ^,log …… ইত্যাদি) সাহায্যে 100 সংখ্যাটি পেতে হবে।অর্থাৎ, আপনার কাছে আছেঃ 7,7,7,7,1 এবং আপনাকে এমন একটি সমীকরণ তৈরি করতে হবে যার ফলাফল 100। একটি নমুনা প্রচেষ্টাঃ

(7*7) + (7*7)+1
= 49+49+1
= 99

কিন্তু এটি ভুল উত্তর দিচ্ছে। একই সংখ্যাসমূহ ব্যবহার করে 100 পেতে হবে। অনেক সমন্বয়ে আমরা চিন্তা করতে পারি। একটু আগ বাড়িয়ে কেউ যদি কল্পনা করে নিতে পারেনঃ

17 + 77 + 7
= 101

তাহলে তা প্রশংসনীয় (যদিও এক্ষেত্রেও উত্তর ভুল)। কারণ, আমাদের বলা হয়েছে, 100 পেতে হবে। কোথাও বলা হয় নি, সংখ্যাগুলোকে আলাদা আলাদাভাবে ব্যবহার করতে হবে। এভাবে একটি 1 এবং চারটি 7 ব্যবহার করে 71,177,717,771,777 নানা সমন্বয়ে যদি আমরা চেষ্টা করি, তাহলে খুব সহজ একটি সমীকরণে পৌঁছাতে পারি।

177 – 77 = 100

যাঁরা সমীকরণ তৈরিতে আ রও সিদ্ধহস্ত তাঁরা হয়তো এই সমীকরণটিও পেতে পারেন।

(7 + 7) * (7 + (1/7)) = 100

অর্থাৎ, 1 এবং 7 কে ভগ্নাংশ হিসেবেও ব্যবহার করতে পারেন। আর এভাবেই আকাঙ্খিত ফলাফলের দিকে এগিয়ে যেতে পারেন।

২.

এবার আরেকটি সমস্যা নিয়ে আমরা ভাবি। আমাদেরকে দুটি সংখ্যা 5 এবং 9 দেওয়া হল এবং যেকোন গাণিতিক প্রতীক (Symbol) ব্যবহারের সুবিধা দেওয়া হল। তারপর জানতে চাওয়া হল, 5 আর 9 এর মাঝখানে কী প্রতীক বসালে তা সংখ্যা দুটির মধ্যবর্তী কোন সংখ্যা নির্দেশ করবে?

এক্ষেত্রে প্রথমেই যা মাথায় আসে তা হল, 5 আর 9 এর মাঝে কোন প্রতীক বসালে এর মান 6,7 বা 8 তো হবে না। কিন্তু প্রশ্নটিতে একটি সংখ্যা তৈরি করতে বলা হয়েছে, পূর্ণ সংখ্যা হতে হবে এমন বলা হয় নি।

আমরা একটি দশমিক (.) চিহ্ন ব্যবহার করে 5.9 সংখ্যাটি পেতে পারি যা 5 এবং 9 কেও অটুট রাখে এবং অন্যান্য সব শর্তও পূর্ণ করে।

৩.

তিন সুবেশী ভদ্রলোক মিঃ হলুদ, মিঃ বাদামী এবং মিঃ সবুজ এক বৈঠকে মিলিত হলেন। তাঁদের টাইয়ের রংও হলুদ, বাদামী এবং সবুজ। মিঃ হলুদ বললেন, “আমাদের যার যার টাইয়ের রং আমাদের নামের সাথে মেলে না।” সবুজ টাই পরা ভদ্রলোক বললেন, “হ্যাঁ, ঠিক।”

তাহলে আমাদের জানতে হবে, কে কী রংয়ের টাই পরেছেন?

এটি একটি যুক্তির ধাঁধা। তিন ভদ্রলোকের টাইয়ের রং তাঁদের নামের সাথে মেলে না। মিঃ হলুদের টাইয়ের রং হয় বাদামী না হয় সবুজ। কিন্তু সবুজ টাই পরা অন্য এক ভদ্রলোকের উল্লেখ আমরা পেলাম। তাহলে অবশ্যই মিঃ হলুদের টাইয়ের রং বাদামী। সবুজ টাই পরা ভদ্রলোকের নাম মিঃ হলুদ হতে পারে না, তাই তাঁর নাম মিঃ বাদামী। এভাবে আমরা, সবার নাম ও টাইয়ের রং জানতে পারি।

মিঃ হলুদ — বাদামী টাই
মিঃ বাদামী —সবুজ টাই
মিঃ সবুজ — হলুদ টাই

৪.

এবারে একটি ছবির ধাঁধা দেখি।

একটি ঘড়ি, সংখ্যাগুলো রোমানে লেখা। হঠাৎ এক দুর্ঘটনায় এটি পড়ে গিয়ে চার টুকরা হয়ে গেল। কিন্তু অবাক কান্ড, প্রতিটি টুকরায় সংখ্যাগুলোর যোগফল 20। তাহলে কোন টুকরায় সংখ্যাগুলো কিভাবে পড়েছে তা আমাদের অনুমান করতে হবে।

চারটি টুকরাতেই যদি 20 করে যোগফল হয় তাহলে মোট যোগফল হতে হবে 80। কিন্তু 1 থেকে 12 পর্যন্ত সব সংখ্যার যোগফল অর্থাৎ,1+2+3+4+…….+11+12 = 78. তাহলে, বাকি দুইয়ের হিসাব কিভাবে মিলবে? এখানে গিয়েই ভাবতে হবে, সমস্যাটিতে রোমান সংখ্যার ঘড়ি কেন নেওয়া হল? রোমানে কোন সংখ্যাকে মাঝখানে ভেঙে আমরা দুটি আলাদা মান পেতে পারি। যেমন VII কে V এবং II তে ভেঙে আমরা দুটি আলাদা টুকরায় 5 এবং 2 ভাগ করে নিতে পারি। কিন্তু এই সমস্যাটিতে ভাঙনটি এমনভাবে হতে হবে যাতে ভেঙে গিয়ে মান 2 বেড়ে যায়। এমন শুধু দুইটি সংখ্যাই আছে। একটি হল IV, মাঝে ভেঙে দিলে হবে I(1) এবং V(5), অর্থাৎ, 4 থেকে 2 বেশি। আরেকটি হল, IX, একে ভাঙলে হবে I(1) এবং X(10), অর্থাৎ, 9 থেকে 2 বেশি। পরের সংখ্যাটি বরাবর ভাঙলেই আমাদের শর্ত পূরণ হতে পারবে (নিচের ছবি দ্রষ্টব্য)।

আগ্রহী পাঠকেরা চাইলে আ রও কিছু ধাঁধা নিজেরা সমাধানের চেষ্টা করতে পারেন।

ক) একটি ভুল সমীকরণঃ 101 – 102 = 1. এখানে কোন একটি অঙ্ককে (digit) এমনভাবে বদলে দিতে হবে (প্রয়োজনে অবস্থান) যেন সমীকরণটি শুদ্ধ হয়।

খ) তিনটি 5 ব্যবহার করে তৈরি দুটি সমীকরণঃ (5-5)/5 = 0 এবং (5 + 5)/5 = 2. তিনটি 5 ব্যবহার করে যেকোন গাণিতিক অপারেটরের সাহায্যে 1 আর 3 পেতে হবে। কেউ চাইলে এরপর 4,5,6 ইত্যাদিও পাওয়ার চেষ্টা করতে পারেন।

গ) একটি 30 মিটার গভীর কুয়া আছে যেখানে এক লম্ফমান ব্যাঙের বাস। ব্যাঙের ইচ্ছা, কুয়া থেকে বেরিয়ে এসে পৃথিবী দেখার। সে প্রতিদিন কুয়ার দেওয়াল বরাবর লাফিয়ে 3 মিটার উপরে উঠে আসে কিন্তু রাতে ঘুমানোর সময় 2 মিটার নিচের দিকে পিছলে যায়। এভাবে কতদিনে ব্যাঙটি উপরে উঠে আসতে পারবে?

পাঠক, আপনার যদি কোন ধাঁধা জানা থাকে তাহলে তাও মন্তব্য অংশে জিজ্ঞেস করতে পারেন। তাহলে, সবার মধ্যে আলোচনার ক্ষেত্র প্রস্তুত হবে।