আলোচনাঃ
প্রশ্নে বলা আছে যে, বড় বৃত্তের ব্যাসার্ধ, R এবং ছোট বৃত্তের ব্যাসার্ধ r , এবং বড় বৃত্তের ভেতরে n সংখ্যক ছোট বৃত্ত আছে । আমাদের বের করা লাগবে ছোট বৃত্তের ব্যাসার্ধ ,r = ?
উত্তরঃ
আমরা জানি, একটা বৃত্ত =360 degree. তাহলে একটা বৃত্তকলার (sector) কোণ, ∠OGF = 360 / n (degree) ——(1)
আবার বৃত্তকলার কোণ, 2θ = ∠OGF ——(2)
সুতরাং, ∠OEF = θ (theta)
From (1) and (2) ,
2θ = 360 / n (degree) =(2*pi)/n (degree) [ in radian 360 degree = 2*pi radian ]
সুতরাং, θ = (2*pi)/(2*n) = pi/n —————- (3)
চিত্র থেকে পাই,
OE = R
AE = AB = r
So, OA = OE – AE = R – r
From △OAB =>
sinθ = AB/OA
=> sin(pi/n) = r / ( R – r ) [ from (3) we get, θ= (pi/n) ]
=> R*sin(pi/n) – r*sin(pi/n) = r
=> R*sin(pi/n) = r + r*sin(pi/n)
=> R*sin(pi/n) = r * (1 + sin(pi/n) )
So, r = ( R*sin(pi/n) ) / (1 + sin(pi/n) )
C++ Code:
#include<bits/stdc++.h>
using namespace std;
#define PI acos(-1.0)
int main(){
int t;
double R,r,n;
cin>>t;
for(int i=1;i<=t;i++){
cin>>R>>n;
double angle=PI/n;
r=(R*sin(angle))/(1+sin(angle));
printf("Case %d: %.10lf\n",i,r);
}
}
// Complexity : O(1)