সমস্যা বিবরণ
রেগুলার পলিগনের সাইড সংখ্যা N এবং সাইড দৈর্ঘ্য A দেওয়া থাকলে, এর সার্কামসার্কেলের ত্রিজ্যা এবং এলাকা বের করতে হবে।
ফর্মুলা
- ত্রিজ্যা r = A / √[2(1 - cos(360/N))]
- এলাকা = π × r²
উদাহরণ
n = 5, a = 6 → ত্রিজ্যা = 3.02487, এলাকা = 28.7305
সমাধান পদ্ধতি
- ট্রিগনোমেট্রিক ফর্মুলা সরাসরি প্রয়োগ করা হয়।
- cos ফাংশন রেডিয়ানে ইনপুট নেয়, ডিগ্রি কনভারশন দরকার নেই (C++-এ cos ডিগ্রি নেয় না, রেডিয়ান নেয় — কোডে বাগ আছে, ঠিক করা উচিত)।
- π এর মান 3.14 ধরা হয়েছে।
C++ বাস্তবায়ন
#include <bits/stdc++.h>
using namespace std;
void CalcRadAreaCircumcircle(float n, float a) {
// নোট: cos() রেডিয়ানে ইনপুট নেয়, তাই 360/n ডিগ্রি কনভার্ট করতে হবে
float rad = (360.0 / n) * M_PI / 180.0; // ডিগ্রি টু রেডিয়ান
float r = a / sqrt(2 * (1 - cos(rad)));
cout << "The radius of Circumcircle is " << r << endl;
cout << "The area of circumcircle is " << (3.14 * r * r);
}
int main() {
float n = 5, a = 6;
CalcRadAreaCircumcircle(n, a);
return 0;
}
ইনপুট ও আউটপুট
ইনপুট: n = 4, a = 2
আউটপুট: ত্রিজ্যা = 3.02487, এলাকা = 28.7305 (n=5, a=6-এর জন্য)