একটি বাইনারি সমঝোতা একটি সংখ্যা দ্বারা বর্ণিত হয় 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