একটি বাইনারি সমঝোতা একটি সংখ্যা দ্বারা বর্ণিত হয় M, এবং একটি সংখ্যায় প্রয়োগ করা হয় N। বাইনারি উপস্থাপনায় প্রতিটি বিটের জন্য M, যদি বিটটি সেট করা থাকে ( 1), আউটপুটে সংশ্লিষ্ট বিটটি সংশ্লিষ্ট বিট সংলগ্ন দুটি বিটকে XORing দ্বারা প্রদান করা হয় N(যখন প্রয়োজন তখন প্রায় মোড়ানো)। যদি বিটটি সেট না করা হয় ( 0), তবে আউটপুটে সংশ্লিষ্ট বিটটি সংশ্লিষ্ট বিট দ্বারা দেওয়া হয় N।
একটি কাজের উদাহরণ (8-বিট মান সহ):
- যাক
N = 150,M = 59। তাদের বাইনারি সম্মানগুলি (যথাক্রমে)10010110এবং00111011। Mএর বাইনারি উপস্থাপনার ভিত্তিতে 0, 1, 3, 4 এবং 5 বিটগুলি মীমাংসিত হয়।- বিট 0 এর ফলাফলটি XORing বিট 1 এবং 7 দ্বারা দেওয়া হয়েছে (যেহেতু আমরা প্রায় গুটিয়ে রাখছি), ফলন দেয়
1। - বিট 1 এর ফলাফলটি XORing বিট 0 এবং 2 প্রদান করে, ফলন দেয়
0। - বিট 2 এর ফলাফলটি মূল বিট 2 দিয়ে দেয়, ফলন দেয়
1। - বিট 3 এর জন্য ফলাফল XORing বিট 2 এবং 4 প্রদান করে, ফলন দেয়
0। - বিট 4 এর জন্য ফলাফল XORing বিট 3 এবং 5 প্রদান করে, ফলন দেয়
0। - বিট 5 ফলাফলের বিট 4 এবং 6 XORing, ফলনশীল দেওয়া হয়
1। - 6 এবং 7 বিটের ফলাফলগুলি মূল বিট 6 এবং 7 দ্বারা দেওয়া হয়, ফলনকারী
0এবং1।
- বিট 0 এর ফলাফলটি XORing বিট 1 এবং 7 দ্বারা দেওয়া হয়েছে (যেহেতু আমরা প্রায় গুটিয়ে রাখছি), ফলন দেয়
- আউটপুট এইভাবে হয়
10100110(166)।
চ্যালেঞ্জ
প্রদত্ত Nএবং M, আউটপুট বাইনারি সংবর্তন দ্বারা বর্ণিত করণ ফল Mউপর N। ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক, সামঞ্জস্যপূর্ণ এবং দ্ব্যর্থহীন বিন্যাসে হতে পারে। Nএবং Mসর্বদা (অন্তর্ভুক্ত) পরিসরে [0, 255](8-বিট স্বাক্ষরবিহীন পূর্ণ সংখ্যা) থাকবে এবং তাদের বাইনারি উপস্থাপনাগুলি বাইনারি সমঝোতা সম্পাদনের জন্য 8 বিটে প্যাড করা উচিত।
পরীক্ষার কেস
150 59 -> 166
242 209 -> 178
1 17 -> 0
189 139 -> 181
215 104 -> 215
79 214 -> 25
190 207 -> 50
61 139 -> 180
140 110 -> 206
252 115 -> 143
83 76 -> 31
244 25 -> 245
24 124 -> 60
180 41 -> 181
105 239 -> 102
215 125 -> 198
49 183 -> 178
183 158 -> 181
158 55 -> 186
215 117 -> 198
255 12 -> 243