여기서 N변 정다각형에 내접하는 원의 면적을 구하는 방법을 알아보겠습니다. N(변의 수)이 주어지고 다각형의 각 변은 'a'입니다.
접근 방식은 간단합니다. N개의 변이 있는 다각형 하나를 N개의 동일한 삼각형으로 나눌 수 있으며, 중심에 있는 각 삼각형의 전체 각도는 360/N이므로 -
예시
#include <iostream> #include <cmath> using namespace std; float area(float n, float a) { if (n < 0 || a < 0 ) //if the valuse are negative it is invalid return -1; float r = a/(2.0*tan((180/n) * 3.14159/180)); float area = 3.14159 * r*r; return area; } int main() { float n = 8, a = 4; cout << "Area : " << area(n, a); }
출력
Area : 73.2422