এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা 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