मान लीजिए कि हमारे पास एक समकोण त्रिभुज का कर्ण और क्षेत्रफल है, तो हमें इस त्रिभुज का आधार और ऊँचाई ज्ञात करनी है। यदि यह संभव नहीं है तो झूठी वापसी करें।
इसलिए, यदि इनपुट हाइपो =10, क्षेत्र =24 जैसा है, तो आउटपुट (6, 8) होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- hypo_sq :=hypo * hypo
- s :=(hypo_sq / 2.0) का वर्गमूल
- maxArea :=आधार s और कर्ण हाइपो का उपयोग करके त्रिभुज के क्षेत्रफल की गणना करें
- यदि क्षेत्र> अधिकतम क्षेत्र, तो
- झूठी वापसी
- बाएं:=0.0, दाएं:=एस
- जबकि |दाएं-बाएं|> 0.000001, करो
- आधार:=(बाएं + दाएं) / 2.0
- यदि आधार s और कर्ण हाइपो>=क्षेत्रफल का उपयोग करके त्रिभुज का क्षेत्रफल है, तो
- दाएं:=आधार
- अन्यथा,
- बाएं:=आधार
- ऊंचाई:=(hypo_sq - base*base) का वर्गमूल और निकटतम पूर्णांक का गोल
- आधार के निकटतम पूर्णांक तक का चक्कर
- वापसी का आधार और ऊंचाई
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
गणित आयात से वापसी 0.5 * b * heidef हल (हाइपो, क्षेत्र):हाइपो_sq =हाइपो * हाइपो s =sqrt (hypo_sq / 2.0) maxArea =गणना_क्षेत्र (s, हाइपो) यदि क्षेत्र> अधिकतम क्षेत्र:वापसी गलत बाएँ =0.0 दाएँ =s जबकि पेट ( दाएँ - बाएँ)> 0.000001:आधार =(बाएँ + दाएँ) / 2.0 यदि गणना_क्षेत्र (आधार, हाइपो)> =क्षेत्र:दाएँ =आधार अन्य:बाएँ =आधार ऊँचाई =गोल (sqrt (hypo_sq - आधार * आधार)) आधार =गोल (आधार) वापसी आधार, ऊंचाई =10 क्षेत्र =24 प्रिंट (समाधान (हाइपो, क्षेत्र))इनपुट
10, 24
आउटपुट
(6, 8)