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

সমকোণ ত্রিভুজের বাকি দুটি বাহু খুঁজে বের করা C++-এ

এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা a দেওয়া আছে যা একটি সমকোণ ত্রিভুজের একটি বাহুকে নির্দেশ করে। আমাদের চেক করতে হবে যে a বাহু দিয়ে সমকোণ ত্রিভুজ তৈরি করা সম্ভব কিনা। যদি সম্ভব হয়, তবে বাকি দুটি বাহু খুঁজে বের করতে হবে।

উদাহরণ

ইনপুট

a = 5

আউটপুট

Sides : 5, 12, 13

ব্যাখ্যা

সমকোণ ত্রিভুজের বাহুরা হল 5² + 12² = 13²

সমাধানের পদ্ধতি

এই সমস্যার সহজ সমাধান হল পিথাগোরাসের উপপদ্য ব্যবহার করা। আমরা জানি সমকোণ ত্রিভুজের বাহুগুলো পিথাগোরাসের উপপদ্য মান করে:

a² + b² = c²

যেখানে a এবং b হল ত্রিভুজের দুটি বাহু এবং c হল হাইপোটেনাস।

এটি ব্যবহার করে আমরা a থেকে b এবং c এর মান বের করব।

কেস ১: a সম সংখ্যা হলে

c = (a²/4) + 1
b = (a²/4) - 1

কেস ২: a বিষম সংখ্যা হলে

c = (a² + 1) / 2
b = (a² - 1) / 2

প্রোগ্রাম উদাহরণ

#include <bits/stdc++.h>
#include <cmath>
using namespace std;

#define PI 3.1415926535

void printOtherSides(int n) {
    int b, c;
    
    if (n & 1) { // विषम संख্যা
        if (n == 1)
            cout << -1 << endl;
        else {
            b = (n*n - 1) / 2;
            c = (n*n + 1) / 2;
        }
    } else { // সম সংখ্যা
        if (n == 2)
            cout << -1 << endl;
        else {
            b = n*n/4 - 1;
            c = n*n/4 + 1;
        }
    }
    
    cout << "Sides : a = " << n << ", b = " << b << ", c = " << c << endl;
}

int main() {
    int a = 5;
    printOtherSides(a);
    return 0;
}

আউটপুট

Sides : a = 5, b = 12, c = 13
  1. বাইনারি ট্রিতে দেওয়া কীর নেক্সট রাইট নোড খুঁজে বের করা C++-এ

  2. C++-এ পৃষ্ঠাকে কোনো কোণে ঘুরানো সম্ভব কিনা তা খুঁজুন

  3. C++-এ কণকোণী সমদ্বিবাহু ত্রিভুজে ফিট হতে পারা ম্যাক্সিমাম বর্গের সংখ্যা

  4. সি++-এ ত্রিভুজের কেন্ড্রয়েড (Centroid) বের করার প্রোগ্রাম