আপনি কি জানেন যে অল্প সংখ্যক একটি বড় সংখ্যা থেকে বিট ধার নিতে পারে ? এখানে একটি উদাহরণ। আসুন আমাদের দুটি সংখ্যা 5 এবং 14 বলুন First প্রথমে বাইনারি এগুলি লিখুন:
5 14
000101 001110
আমরা প্রথমে ক্ষুদ্রতম নিতে উপর বৃহত্তর নম্বর থেকে দূরে বিট, এবং আমরা ক্ষুদ্রতম তা দিতে বন্ধ অন্যান্য সংখ্যার উপর বিট। সুতরাং
This bit turns off
|
v
000101 001110
^
|
This bit turns on
এখন আমাদের আছে
000111 001100
এবং আমাদের সংখ্যা 7 এবং 12। প্রথম সংখ্যাটি এখনও কম, তাই আমরা চালিয়ে যাচ্ছি।
000111 001100
001111 001000
এখন আমাদের 15 এবং 8 আছে, তাই আমরা থামাতে পারি। আমরা এই অপারেশনস সেটটিকে "বিট-ধার" দুটি নাম্বার বলব। এর আরেকটি উদাহরণ করা যাক। 20 এবং 61।
20 61
010100 111101
010101 111100
010111 111000
111111 100000
63 32
সুতরাং আমাদের শেষ ফলাফল 32, 63. আসুন আরও একটি করা যাক । 31, এবং 12 31 ইতিমধ্যে 12 এর চেয়ে বড়, সুতরাং কিছুই করার নেই! বিট-ধার 31 এবং 12 31 এবং 12 দেয়, কোনও পরিবর্তন নেই।
চ্যালেঞ্জ
আপনার চ্যালেঞ্জটি এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা দুটি সংখ্যা নেয় এবং সেগুলি বিট-ধার করে। দুটি সংখ্যা সর্বদা ইতিবাচক পূর্ণসংখ্যার হবে। আপনার ইনপুট এবং আউটপুট যে কোনও যুক্তিসঙ্গত বিন্যাসে হতে পারে।
পরীক্ষার আইও:
Input: 2, 3
Output: 3, 2
Input: 3, 2
Output: 3, 2
Input: 8, 23
Output: 31, 0
Input: 42, 81
Output: 63, 0
Input: 38, 41
Output: 47, 32
Input: 16, 73
Output: 23, 0
Input: 17, 17
Output: 17, 17
স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় এবং বাইট জেতে সংক্ষিপ্ত উত্তর!