पृष्ठभूमि
क्वाटरनियन एक संख्या प्रणाली है जो जटिल संख्याओं का विस्तार करती है। एक चतुर्भुज का निम्नलिखित रूप है
जहाँ वास्तविक संख्या हैं और तीन मूलभूत चतुष्कोणीय इकाइयाँ हैं । इकाइयों में निम्नलिखित गुण हैं:
ध्यान दें कि चतुर्भुज गुणन सराहनीय नहीं है ।
कार्य
एक गैर-वास्तविक quaternion को देखते हुए , इसकी कम से कम एक वर्ग जड़ों की गणना करें।
कैसे?
इस गणित के अनुसार। उत्तर के अनुसार , हम निम्नलिखित रूप में किसी भी गैर-वास्तविक उद्धरण को व्यक्त कर सकते हैं:
जहाँ वास्तविक संख्याएँ हैं और साथ के रूप में काल्पनिक इकाई वेक्टर है । किसी भी ऐसे की संपत्ति , इसलिए इसे काल्पनिक इकाई के रूप में देखा जा सकता है।
तब का वर्ग इस तरह दिखता है:
इसके विपरीत, एक quaternion , हम निम्नलिखित समीकरणों को हल करके का वर्गमूल कर सकते हैं।
जो एक जटिल संख्या के वर्गमूल को खोजने की प्रक्रिया के समान है।
ध्यान दें कि एक नकारात्मक वास्तविक संख्या में कई चतुर्धातुक वर्ग की जड़ें होती हैं, लेकिन एक गैर-वास्तविक चतुर्भुज में केवल दो वर्गमूल होते हैं ।
इनपुट और आउटपुट
इनपुट एक गैर-वास्तविक quaternion है। आप इसे अपनी पसंद के किसी भी क्रम और संरचना में चार वास्तविक (फ्लोटिंग-पॉइंट) संख्याओं के रूप में ले सकते हैं। गैर-वास्तविक का मतलब है कि में से कम से कम एक शून्य है।
आउटपुट एक या दो चतुर्धातुक होते हैं, जो जब चुकता होते हैं, तो इनपुट के बराबर होते हैं।
परीक्षण के मामलों
Input (a, b, c, d) => Output (a, b, c, d) rounded to 6 digits
0.0, 1.0, 0.0, 0.0 => 0.707107, 0.707107, 0.000000, 0.000000
1.0, 1.0, 0.0, 0.0 => 1.098684, 0.455090, 0.000000, 0.000000
1.0, -1.0, 1.0, 0.0 => 1.168771, -0.427800, 0.427800, 0.000000
2.0, 0.0, -2.0, -1.0 => 1.581139, 0.000000, -0.632456, -0.316228
1.0, 1.0, 1.0, 1.0 => 1.224745, 0.408248, 0.408248, 0.408248
0.1, 0.2, 0.3, 0.4 => 0.569088, 0.175720, 0.263580, 0.351439
99.0, 0.0, 0.0, 0.1 => 9.949876, 0.000000, 0.000000, 0.005025
इस पायथन लिपि का उपयोग करके बनाया गया । प्रत्येक परीक्षण मामले के लिए दो सही उत्तरों में से केवल एक निर्दिष्ट है; अन्य सभी चार मूल्यों को नकार दिया गया है।
स्कोरिंग और जीतने की कसौटी
मानक कोड-गोल्फ नियम लागू होते हैं। प्रत्येक भाषा में बाइट्स में सबसे छोटा प्रोग्राम या फ़ंक्शन जीतता है।
a,[b,[c,[d]]]
ठीक है, अगर आप किसी तरह इसके साथ बाइट्स बचा सकते हैं :)
a, (b, c, d)
?