मान लीजिए हमारे पास तीन कोण हैं। हमें यह जांचना है कि क्या इन कोणों से धनात्मक क्षेत्रफल वाला त्रिभुज बनाना संभव है या नहीं।
उदाहरण के लिए, यदि इनपुट a = 40, b = 120, c = 20 है, तो आउटपुट True होगा क्योंकि 40 + 120 + 20 = 180।
समाधान दृष्टिकोण
एक वैध त्रिभुज के लिए तीन शर्तें पूरी होनी चाहिए:
- सभी कोण 0 से बड़े हों
- कोणों का योग 180° हो
- त्रिभुज असमानता: किन्हीं दो कोणों का योग तीसरे से बड़ा या बराबर हो (यह शर्त वास्तव में कोणों के लिए हमेशा पूरी होती है यदि योग 180 है और सभी धनात्मक हैं)
एल्गोरिदम चरण:
- यदि
a, b, cसभी शून्येतर हैं औरa + b + c == 180: - यदि
(a+b) >= cया(b+c) >= aया(a+c) >= b, तो True लौटाएं - अन्यथा False लौटाएं
- अन्यथा False लौटाएं
पायथन कार्यान्वयन
def solve(a, b, c):
if a != 0 and b != 0 and c != 0 and (a + b + c) == 180:
if (a + b) >= c or (b + c) >= a or (a + c) >= b:
return True
else:
return False
else:
return False
a = 40
b = 120
c = 20
print(solve(a, b, c)) # True
इनपुट
40, 120, 20
आउटपुट
True
नोट:
यदि तीनों कोण धनात्मक हैं और उनका योग 180 है, तो त्रिभुज असमानता स्वतः पूरी हो जाती है। इसलिए तीसरी शर्त अनावश्यक है। सरलीकृत संस्करण:
def solve(a, b, c):
return a > 0 and b > 0 and c > 0 and a + b + c == 180