Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जांचें कि दिए गए क्षेत्रफल और कर्ण से समकोण त्रिभुज संभव है या नहीं


मान लीजिए हमारे पास एक समकोण त्रिभुज का कर्ण और क्षेत्रफल है, हमें इस त्रिभुज का आधार और ऊंचाई ढूंढनी है। यदि संभव नहीं है तो False लौटाएं।

उदाहरण के लिए, यदि hypo = 10, area = 24 है, तो आउटपुट (6, 8) होगा।

हल करने का तरीका

  1. hypo_sq := hypo²
  2. s := √(hypo_sq / 2) - अधिकतम क्षेत्रफल के लिए आधार
  3. maxArea := आधार s और कर्ण hypo से त्रिभुज का क्षेत्रफल
  4. यदि area > maxArea, तो False लौटाएं
  5. बाइनरी सर्च से आधार ढूंढें:
    • left := 0.0, right := s
    • जब तक |right - left| > 0.000001:
      • base := (left + right) / 2
      • यदि आधार base से क्षेत्रफल ≥ दिया गया क्षेत्रफल, तो right := base
      • अन्यथा left := base
  6. ऊंचाई := √(hypo_sq - base²) को निकटतम पूर्णांक में राउंड करें
  7. आधार को भी राउंड करें
  8. आधार और ऊंचाई लौटाएं

उदाहरण कोड

from math import sqrt

def calculate_area(b, h):
    hei = sqrt(h * h - b * b)
    return 0.5 * b * hei

def solve(hypo, area):
    hypo_sq = hypo * hypo
    s = sqrt(hypo_sq / 2.0)
    maxArea = calculate_area(s, hypo)
    if area > maxArea:
        return False
    left = 0.0
    right = s
    while abs(right - left) > 0.000001:
        base = (left + right) / 2.0
        if calculate_area(base, hypo) >= area:
            right = base
        else:
            left = base
    height = round(sqrt(hypo_sq - base * base))
    base = round(base)
    return base, height

hypo = 10
area = 24
print(solve(hypo, area))

इनपुट

10, 24

आउटपुट

(6, 8)
  1. पायथन में समकोण त्रिभुज के मध्य बिंदु और आधार के बीच का कोण खोजने का प्रोग्राम पायथन में समकोण त्रिभुज के मध्य बिंदु और आधार के बीच का कोण खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक समकोण त्रिभुज की दो भुजाएं हैं, ये भुजाएं AB और BC हैं। कर्ण AC का मध्य बिंदु M मानें। हमें M और BC के बीच का कोण ढूंढना है।उदाहरण के लिए, यदि इनपुट ab = 6 bc = 4 है, तो आउटपुट 56.309932474020215 होगा क्योंकि ab/bc का आर्क_टैन 0.9828 है लेकिन डिग्री में यह 56.31 है।समाधान दृष्

  1. Python में वेक्टर A को घुमाकर और वेक्टर C जोड़कर वेक्टर B तक पहुंचने की संभावना की जांच कैसे करें? Python में वेक्टर A को घुमाकर और वेक्टर C जोड़कर वेक्टर B तक पहुंचने की संभावना की जांच कैसे करें?

    मान लीजिए हमारे पास 2D प्लेन में तीन वेक्टर x, y और z हैं। हमें यह जांचना है कि क्या हम वेक्टर x को 90 डिग्री (घड़ी की दिशा में) घुमाकर या आवश्यकतानुसार कई बार z को जोड़कर वेक्टर y प्राप्त कर सकते हैं। तो, यदि इनपुट x = (-4, -2), y = (-1, 2), z = (-2, -1) है, तो आउटपुट True होगा क्योंकि हम x में z

  1. पायथन में सबसे बड़े त्रिकोण का क्षेत्रफल पायथन में सबसे बड़े त्रिकोण का क्षेत्रफल

    मान लीजिए हमारे पास एक प्लेन पर बिंदुओं की सूची है। हमें किसी भी 3 बिंदुओं से बनने वाले सबसे बड़े त्रिकोण का क्षेत्रफल ज्ञात करना है। उदाहरण के लिए, यदि इनपुट [[0,0],[0,1],[1,0],[0,2],[2,0]] है, तो आउटपुट 2 होगा। हल करने के चरण res := 0 N := बिंदुओं की सूची का आकार i को 0 से N-2 तक लूप करें: j क