लगभग एक साल पहले आपको XOR primes खोजने के लिए कहा गया था । ये वे संख्याएँ हैं जिनके केवल कारक 1 हैं और जब बेस 2 में XOR गुणन करते हैं तो स्वयं । अब चीजों को थोडा थूकने जा रहे थे।
हम बेस -2 में XOR प्राइम खोजने जा रहे हैं
बेस -2 में परिवर्तित
बेस -2 हर दूसरे बेस की तरह है। सबसे बाईं ओर 1 स्थान (1 = (-2) 0 ) है, उसके आगे -2 s स्थान (-2 = (-2) 1 ) है, उसके बगल में 4s स्थान (4 = (-2) है ) 2 ), और इतने पर और आगे। बड़ा अंतर यह है कि आधार संख्या को ऋणात्मक संख्या में बिना किसी नकारात्मक चिन्ह के दर्शाया जा सकता है।
यहाँ कुछ उदाहरण रूपांतरण हैं:
Decimal | Base -2
-----------------
6 | 11010
-7 | 1001
12 | 11100
-15 | 110001
बेस -2 में XOR जोड़
बेस -2 में XOR का जोड़ बाइनरी में XOR के अलावा बहुत ज्यादा है। आप बस संख्या को आधार -2 और XOR को प्रत्येक अंक में बदल देते हैं। (यह बिना कैरी के समान है)
यहाँ एक उदाहरण के माध्यम से कदम से कदम काम किया है:
(हम +'
बेस -2 XOR को इंगित करने के लिए प्रतीक का उपयोग करेंगे )
आधार 10 में शुरू करें:
6 +' -19
आधार -2 में बदलें:
11010 +' 10111
बिना ले जाने के उन्हें जोड़ें:
11010
+' 10111
---------
01101
अपना परिणाम वापस आधार 10 में परिवर्तित करें:
-3
बेस -2 में XOR गुणा
आधार -2 में एक बार फिर XOR गुणा गुणा बाइनरी में XOR गुणा के समान है। यदि आप बेस 2 में XOR गुणन से परिचित नहीं हैं, तो एक उत्कृष्ट स्पष्टीकरण यहाँ है, मेरा सुझाव है कि आप पहले उस पर एक नज़र डालें।
बेस -2 में XOR का गुणा बेस -2 में लंबे गुणा का प्रदर्शन करने के समान है, सिवाय इसके कि जब +
आप +'
ऊपर बताए गए एक पारंपरिक उपयोग के साथ सभी नंबरों को जोड़ने के बजाय अंतिम चरण में आते हैं।
यहाँ एक उदाहरण नीचे दिया गया है:
दशमलव में प्रारंभ करें:
8 *' 7
बेस -2 में बदलें:
11000 *' 11011
लंबे विभाजन को सेट करें:
11000
*' 11011
---------
दूसरे स्थान पर हर स्थान पर पहले नंबर को गुणा करें
11000
*' 11011
------------
11000
11000
0
11000
11000
आधार -2 XOR का उपयोग करके सभी परिणाम जोड़ें
11000
*' 11011
-------------
11000
11000
0
11000
+' 11000
-------------
101101000
परिणाम को दशमलव में बदलें:
280
चुनौती
आपकी चुनौती यह सत्यापित करना है कि आधार -2 में कोई संख्या XOR प्राइम है या नहीं। एक संख्या आधार -2 में एक XOR प्राइम है यदि पूर्णांकों की एकमात्र जोड़ी जो इसे आधार में गुणा करती है 1 और स्वयं। (1 अभाज्य नहीं है)
आप एक संख्या में ले जाएंगे और एक बुलियन का उत्पादन करेंगे, अगर इनपुट बेस -2 झूठा है तो इनपुट एक XOR प्राइम है।
लक्ष्य के रूप में सबसे कम संख्या में बाइट प्राप्त करने के साथ बाइट्स में समाधान बनाए जाएंगे।
परीक्षण के मामलों
आधार -2 में निम्नलिखित सभी XOR प्राइम हैं:
-395
-3
-2
3
15
83
आधार -2 में निम्नलिखित XOR प्राइम नहीं हैं :
-500
-4
0
1
258
280
258
बराबर लगता है-2 *' -129 = 10 *' 10000011