समस्या:
कार्टेशियन विमान में बिंदुओं के एक गैर-खाली सेट को देखते हुए, सबसे छोटा वृत्त खोजें जो उन सभी को जोड़ता है ( विकिपीडिया लिंक )।
यह समस्या तुच्छ है यदि अंकों की संख्या तीन या उससे कम है (यदि एक बिंदु है, तो सर्कल में शून्य का त्रिज्या है; यदि दो बिंदु हैं, तो बिंदुओं को जोड़ने वाला रेखा खंड सर्कल का व्यास है; यदि वहां हैं तीन (नॉन-कॉलिनियर) अंक, एक सर्कल के समीकरण को प्राप्त करना संभव है जो उन सभी को छूता है यदि वे एक गैर-ऑब्सट्यूज़ त्रिकोण बनाते हैं, या एक सर्कल जो केवल दो बिंदुओं को छूता है और तीसरे को संलग्न करता है यदि त्रिकोण ऑब्सट्यूट है)। इसलिए, इस चुनौती के लिए, अंकों की संख्या तीन से अधिक होनी चाहिए।
चुनौती:
- इनपुट: 4 या अधिक गैर-कॉलिनियर बिंदुओं की सूची। अंक में X और Y निर्देशांक होना चाहिए; निर्देशांक फ्लोट हो सकते हैं। चुनौती को कम करने के लिए, किसी भी दो बिंदुओं को समान X समन्वय नहीं करना चाहिए।
उदाहरण के लिए:[(0,0), (2,1), (5,3), (-1,-1)]
- आउटपुट: मानों का एक समूह
(h,k,r)
, जैसे कि सभी बिंदुओं को घेरने वाले सबसे छोटे वृत्त का समीकरण है।
नियम:
- आप जो भी इनपुट मेथड अपना प्रोग्राम सूट करते हैं उसे चुन सकते हैं।
- आउटपुट को
STDOUT
किसी फ़ंक्शन द्वारा मुद्रित या लौटाया जाना चाहिए । - "सामान्य", सामान्य-उद्देश्य, भाषाएं पसंद की जाती हैं, लेकिन कोई भी एसोलैंग स्वीकार्य है।
- आप मान सकते हैं कि अंक कॉलिनियर नहीं हैं।
- यह कोड-गोल्फ है, इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है। चुनौती पोस्ट किए जाने के एक सप्ताह बाद विजेता का चयन किया जाएगा।
- कृपया अपने उत्तर की पहली पंक्ति में हेडर के रूप में आपके द्वारा उपयोग की जाने वाली भाषा और बाइट में लंबाई शामिल करें:
# Language: n bytes
- कृपया अपने उत्तर की पहली पंक्ति में हेडर के रूप में आपके द्वारा उपयोग की जाने वाली भाषा और बाइट में लंबाई शामिल करें:
परीक्षण के मामलों:
- 1:
- इनपुट:
[(-8,0), (3,1), (-6.2,-8), (3,9.5)]
- आउटपुट:
[-1.6, 0.75, 9.89]
- इनपुट:
- 2:
- इनपुट:
[(7.1,-6.9), (-7,-9), (5,10), (-9.5,-8)]
- आउटपुट:
[-1.73, 0.58, 11.58]
- इनपुट:
- 3:
- इनपुट:
[(0,0), (1,2), (3,-4), (4,-5), (10,-10)]
- आउटपुट:
[5.5, -4, 7.5]
- इनपुट:
- 4:
- इनपुट:
[(6,6), (-6,7), (-7,-6), (6,-8)]
- आउटपुट:
[0, -0.5, 9.60]
- इनपुट:
हैप्पी गोल्फिंग !!!