से http://en.wikipedia.org/wiki/Triangle :

एक प्रोग्राम लिखें जो तीन 2d समन्वय ट्यूपल्स (कार्टेशियन) लेता है, और वर्गीकृत करता है कि इन तीन बिंदुओं का वर्णन किस आकार का है।
लगभग सभी मामलों में ये बिंदु अलग-अलग प्रकार के त्रिकोण का वर्णन करेंगे। कुछ पतित मामलों में, अंक या तो एक विलक्षण बिंदु या एक सीधी रेखा का वर्णन करेंगे। कार्यक्रम निर्धारित करेगा कि निम्नलिखित में से कौन सा टैग वर्णित आकृति पर लागू होता है:
- बिंदु (3 बिंदु सह-घटना हैं)
- लाइन (एक सीधी रेखा पर 3 बिंदु झूठ बोलते हैं - 2 से अधिक बिंदु सह-घटना नहीं हो सकते)
- समबाहु (3 पक्ष बराबर, 3 कोण बराबर)
- समद्विबाहु (2 पक्ष बराबर, 2 कोण बराबर)
- स्केलीन (0 भुजाएँ बराबर, 0 कोण बराबर)
- दायां (1 कोण बिल्कुल π / 2 (या 90 °))
- ओब्लिक (0 कोण बिल्कुल π / 2 (या 90 °))
- Obtuse (1 कोण> π / 2 (या 90 °))
- तीव्र (3 कोण <π / 2 (या 90 °))
ध्यान दें कि कुछ वर्णित आकृतियों के लिए, उपरोक्त टैग्स में से एक से अधिक लागू होंगे। उदाहरण के लिए, कोई भी समकोण या तो समद्विबाहु या खोपड़ी होगा।
इनपुट
- कार्यक्रम STDIN, कमांड-लाइन, पर्यावरण चर या जो भी विधि आपकी पसंद की भाषा के लिए सुविधाजनक है, से 3 इनपुट निर्देशांक पढ़ सकता है।
- इनपुट को समन्वित किया जाता है, लेकिन मुझे आपकी पसंद की भाषा के लिए सुविधाजनक है। यह माना जा सकता है कि आपके द्वारा उपयोग किए जा रहे डेटाटाइप्स के संबंध में सभी इनपुट नंबर अच्छी तरह से बने हैं।
- इनपुट निर्देशांक के क्रम के बारे में कुछ भी नहीं माना जा सकता है।
उत्पादन
- कार्यक्रम STDOUT, संवाद बॉक्स या जो भी प्रदर्शन विधि आपकी पसंद की भाषा के लिए सुविधाजनक है, को आउटपुट देगा।
- आउटपुट इनपुट निर्देशांक द्वारा वर्णित आकृति पर लागू सभी टैग प्रदर्शित करेगा।
- टैग किसी भी क्रम में आउटपुट हो सकता है।
अन्य नियम
- आपकी भाषा के त्रिकोणमितीय पुस्तकालयों / एपीआई की अनुमति है, लेकिन विशेष रूप से त्रिकोण प्रकारों की गणना करने वाले किसी भी एपीआई पर प्रतिबंध है।
- जब कोण या पक्षों की लंबाई की समानता निर्धारित करते हैं, तो आप फ्लोटिंग-पॉइंट मानों की तुलना करने की संभावना रखेंगे। यदि इस तरह के दो मूल्यों को "बराबर" माना जाता है, अगर एक दूसरे के 1% के भीतर हो।
- मानक "कमियां" जो अब मज़ेदार नहीं हैं
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम जवाब जीतता है।
उदाहरण
Input Output
(1,2) (1,2) (1,2) Point
(1,2) (3,4) (5,6) Line
(0,0) (1,1) (2,0) Isosceles Right
(0,0) (2,1) (10,1) Scalene Oblique Obtuse