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)
তাহলে আমরা পেয়ে ভিতরের ছোট বৃত্তের ব্যাসার্ধ ।

Solution in C++:
  1. #include<bits/stdc++.h>
  2. #define PI acos(-1.0)
  3. using namespace std;
  4. int main()
  5. {
  6.     int t,n,i;
  7.     double  R,r;
  8.     cin>>t;
  9.     for(i=1;i<=t;i++)
  10.     {
  11.         cin>>R>>n;
  12.         r=(R*(sin(PI/n)))/(1+sin(PI/n));
  13.         printf("Case %d: %.10lf\n",i,r);
  14.     }
  15.  
  16. }

No comments

Most View Post

Recent post

Codeforces Round 971 (Div. 4) 2009C. The Legend of Freya the Frog Solution

  Problem Link    https://codeforces.com/contest/2009/problem/C S olution in C++: /// Author : AH_Tonmoy #include < bits / stdc ++. h &g...

Powered by Blogger.