অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ বাইনারি (বেস -২) সংখ্যার অঙ্কগুলি পরিচালনা করার জন্য অপারেটরদের সরবরাহ করে। এই অপারেটরগুলিকে অন্যান্য ঘাঁটিতে সাধারণকরণের একটি উপায় এখানে রয়েছে:
যাক এক্স এবং ওয়াই বেস একক অঙ্ক সংখ্যার হতে বি । ইউনারী অপারেটর নির্ধারণ ~
ও বাইনারি অপারেটর &
, |
এবং ^
এই ধরনের যে:
- ~ x = (বি - 1) - এক্স
- x এবং y = মিনিট (x, y)
- এক্স | y = সর্বোচ্চ (x, y)
- x ^ y = (x & ~ y) | (y & ~ x)
মনে রাখবেন যে বি = 2, আমরা পরিচিত বিটওয়াইস নং, এবং, এবং, এবং এক্সওআর অপারেটরগুলি পাই।
বি = 10 এর জন্য, আমরা "দশমিক XOR" টেবিলটি পেয়েছি:
^ │ 0 1 2 3 4 5 6 7 8 9
──┼────────────────────
0 │ 0 1 2 3 4 5 6 7 8 9
1 │ 1 1 2 3 4 5 6 7 8 8
2 │ 2 2 2 3 4 5 6 7 7 7
3 │ 3 3 3 3 4 5 6 6 6 6
4 │ 4 4 4 4 4 5 5 5 5 5
5 │ 5 5 5 5 5 4 4 4 4 4
6 │ 6 6 6 6 5 4 3 3 3 3
7 │ 7 7 7 6 5 4 3 2 2 2
8 │ 8 8 7 6 5 4 3 2 1 1
9 │ 9 8 7 6 5 4 3 2 1 0
বহু-অঙ্কের সংখ্যার জন্য, একক-অঙ্কের অপারেটরের অঙ্ক-বাই-অঙ্ক প্রয়োগ করুন। উদাহরণস্বরূপ, 12345 ^ 24680 = 24655, কারণ:
- 1 ^ 2 = 2
- 2 ^ 4 = 4
- 3 ^ 6 = 6
- 4 ^ 8 = 5
- 5 ^ 0 = 5
যদি অপারেন্ডগুলি পৃথক দৈর্ঘ্য হয়, তবে শীর্ষস্থানীয় শূন্যগুলির সাথে সংক্ষিপ্ততর প্যাড করুন।
চ্যালেঞ্জ
যতটা সম্ভব বাইটে লিখুন, এমন একটি প্রোগ্রাম বা ফাংশন যা ইনপুট হিসাবে দুটি পূর্ণসংখ্যার (যা 0 এবং 999 999 999 এর মধ্যে ধরা হতে পারে) হিসাবে নেয় এবং উপরে সংজ্ঞায়িত হিসাবে দুটি সংখ্যার "দশমিক এক্সওর" আউটপুট দেয়।
পরীক্ষার মামলা
- 12345, 24680 → 24655
- 12345, 6789 → 16654
- 2019, 5779 → 5770
- 0, 999999999 → 999999999
- 0, 0 → 0
09
একজন ইনপুট জন্য একটি গ্রহণযোগ্য ফলাফলের 90, 99
?
A^B^B=A
a^b=b^a
এবং a^b^b=a
একটি বিজোড় মৌলিক গুণনীয়ক সঙ্গে ঘাঁটি জন্য