Advertisement
SarwarIT

10432 - Polygon Inside A Circle

Oct 23rd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1.  
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. #define PI acos(-1.0)
  5. long double getArea(long double a, long double b, long double c)
  6. {
  7.     long double s = (a+b+c)/2.0;
  8.     long double area = (s*(s-a)*(s-b)*(s-c));
  9.     area = sqrt(area);
  10.     return area;
  11. }
  12. long double degTOrad(long double deg)
  13. {
  14.     long double ret = (deg*PI)/180.0;
  15.     return ret;
  16. }
  17. long double getThird(long double a, long double b, long double C)
  18. {
  19.     long double ret =  (a*a) + (b*b) - (2.0*a*b*(cos(C)));
  20.     ret = sqrt(ret);
  21.     return ret;
  22. }
  23. int main()
  24. {
  25.     long double r,n;
  26.     while(cin>>r>>n){
  27.         long double theta = (360.0)/n;
  28.         theta = degTOrad(theta);
  29.         long double c = getThird(r,r,theta);
  30.         long double area = getArea(r,r,c);
  31.         area = area*n;
  32.         long long ans = area*1000;
  33.         long long tem = area*10000;
  34.         if((tem%10)>=5)ans++;
  35.         area = ans/1000.0;
  36.         cout<<fixed<<setprecision(3)<<area<<endl;
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement