কম্পিউটার টিউটোরিয়াল

পাইথনে সমকোণ ত্রিভুজের হাইপোটেনাস এবং এরিয়া থেকে বেস ও হাইট বের করা

সমকোণ ত্রিভুজের হাইপোটেনাস hypo এবং এরিয়া area দেওয়া আছে। বেস এবং হাইট বের করতে হবে। সম্ভব না হলে False ফেরত দিন।

উদাহরণ

ইনপুট: hypo = 10, area = 24

আউটপুট: (6, 8)

অ্যালগরিদম (বাইনারি সার্চ)

  1. সর্বোচ্চ সম্ভব এরিয়া বের করুন (যখন বেস = হাইপোটেনাস/√২)।
  2. যদি দেওয়া এরিয়া তার চেয়ে বড় হয়, তবে False।
  3. বাইনারি সার্চ দিয়ে বেস বের করুন যাতে এরিয়া মেলে।
  4. হাইট = √(hypo² - base²)।

উদাহরণ কোড

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) > 1e-6:
        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))  # Output: (6, 8)

ইনপুট

10, 24

আউটপুট

(6, 8)
  1. পাইথনে সমকোণ ত্রিভুজের মিডপয়েন্ট এবং বেসের কোণ বের করার প্রোগ্রাম

  2. পাইথনে ভেক্টর A-কে রোটেট এবং ভেক্টর C যোগ করে ভেক্টর B-তে পৌঁছানো সম্ভব কিনা তা যাচাই করা

  3. পাইথনে সর্বোচ্চ ত্রিভুজের এলিয়া (Largest Triangle Area) নির্ণয়

  4. পাইথন প্রোগ্রাম: দেওয়া স্ট্রিং থেকে সকল সম্ভাব্য বৈধ IP ঠিকানা জেনারেট করা