কিভাবে জোড় বেজোড় সংখ্যা নির্ণয় করা যায় ?

চাকুরীতে ইন্টারভিউ দিতে বসেছেন। কেউ এক জন জিজ্ঞাসা করলো, একটি integer সংখ্যা জোড় না বেজোড় তা কিভাবে বের করবেন?

উত্তর সহজ: ২ দিয়ে কোনো সংখ্যাকে ভাগ করলে যদি ভাগশেষ 0 হয় তাহলে সংখ্যাটি জোড় নাহলে বেজোড়।

যদি এরপর প্রশ্ন করা হয়, আর কোনো উপায় জানেন কি? ২ দিয়ে ভাগ করা ছাড়াও একটি সংখ্যা জোড় না বেজোড় তা নির্ণয় করা সম্ভব।

https://youtu.be/X1Rdi3RERms

কিভাবে?

Bitwise & (AND) অপারেশন এর মাধ্যমে বের করা সম্ভব কোনো নম্বর জোড় না বেজোড়। এই ধরণের অপারেশন এর সময় যে কোনো নম্বর সর্বশেষ ডিজিট এর সাথে 1 দিয়ে Bitwise & (AND) অপারেশন করলে সহজেই বের হবে নম্বর টি জোড় না বেজোড়।

4 কে বাইনারিতে লেখা হয় : 0b100. সুতরাং:
0b110 & 0b001 = 0b000 = 0

5 কে বাইনারিতে লেখা হয় : 0b101. সুতরাং:
0b101 & 0b001 = 0b001 = 1

খুবই ছোট একটি ট্রিক question . সাধারণত প্রোগ্রামিং ইন্টারভিউ এর সময় এই ধরণের প্রশ্ন জিজ্ঞাসা করা হয়। সুতরাং উত্তর জানা থাকলে ভালো।

Your Comments
+