কম্পিউটার

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


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

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

a = 5

আউটপুট

Sides : 5, 12, 13

ব্যাখ্যা

সমকোণের বাহু 5 2 হিসাবে পাওয়া যায় + 12 2 =13 2

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

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

a2 + b2 = c2

যেখানে a এবং b ত্রিভুজের বাহু এবং c হল ত্রিভুজের কর্ণ৷

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

কেস 1

If a is even,
c = (a2 + 4) + 1
b = (a2 + 4) - 1

কেস 2

If a is odd,
c = (a2 + 1)/ 2
c = (a2 - 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. C++ এ ত্রিভুজের সেন্ট্রোয়েড খুঁজে বের করার প্রোগ্রাম