Light OJ 1072 - Calm Down Solution
Problem Link: Lightoj 1072
প্রবেলমটিতে আমাদেরকে বাইরের বৃত্তের ব্যাসার্ধ এবং কতটি বৃত্ত আছে বাইরের বড় বৃত্তের ভিতরে সেই বৃত্তের সংখ্যা দেয়া আছে । আমাদেরকে ভিতরের ছোট বৃত্তটির ব্যাসার্ধ বের করতে হবে।
আমরা জানি যে, একটি পূর্ণ বৃত্ত ৩৬০ ডিগ্রি হয়ে থাকে।
উদাহরণ থেকেই জানা যাক,
উদাহরণ থেকেই জানা যাক,
ভিতরের ছয়টি বৃত্ত বাইরের বড় বৃত্তটিকে ৬ টি ভাগে ভাগ করেছে।
তাহলে ভিতরের একটি বৃত্তের পরিধির সাথে বাইরের বড় বৃত্তের কেন্দ্র কত ডিগ্রী কোণ তৈরি করে??
তা হবে ৩৬০ কে n দিয়ে ভাগ করলে যতো হয় ততো।
আর আমরা যদি বলি ভিতরের বৃত্তের কেন্দ্র এবং পরিধির সাথে বাইরের বড় বৃত্তের কেন্দ্রটি কত ডিগ্রী কোণ তৈরি করে??
360
2*n
or, 180/n
or, π/n
আমরা কোণ পেয়ে গেলাম , θ = π/n;
Sin θ কে লিখা যায় লম্ব / অতিভুজ হিসেবে ।
এখানে লম্ব r, আর অতিভুজ R-r,
R হলো বাইরের বৃত্তের ব্যাসার্ধ আর r হলো ভিতরের বৃত্তের ব্যাসার্ধ ।
Now from trigonometry , we can write,
sin(PI/n) = r/(R-r)……………(1)
Now just by solving the equation (1) we get,
r = sin(PI/n)*(R-r)
r =( R*sin(PI/n)) – (r*sin(PI/n)
1 =(( R*sin(PI/n))/r) – sin(PI/n) [ dividing both sides by r ]
1 + sin(PI/n) = ( R*sin(PI/n))/r
r = ( R*sin(PI/n)) / (1 + sin(PI/n)) ……..(2)
Now just by solving the equation (1) we get,
r = sin(PI/n)*(R-r)
r =( R*sin(PI/n)) – (r*sin(PI/n)
1 =(( R*sin(PI/n))/r) – sin(PI/n) [ dividing both sides by r ]
1 + sin(PI/n) = ( R*sin(PI/n))/r
r = ( R*sin(PI/n)) / (1 + sin(PI/n)) ……..(2)
তাহলে আমরা পেয়ে ভিতরের ছোট বৃত্তের ব্যাসার্ধ ।
Solution in C++:
- #include<bits/stdc++.h>
- #define PI acos(-1.0)
- using namespace std;
- int main()
- {
- int t,n,i;
- double R,r;
- cin>>t;
- for(i=1;i<=t;i++)
- {
- cin>>R>>n;
- r=(R*(sin(PI/n)))/(1+sin(PI/n));
- printf("Case %d: %.10lf\n",i,r);
- }
- }
No comments