Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그램에서 N변 정다각형에 내접하는 가장 큰 원의 면적은?


여기서 N변 정다각형에 내접하는 원의 면적을 구하는 방법을 알아보겠습니다. N(변의 수)이 주어지고 다각형의 각 변은 'a'입니다.

C 프로그램에서 N변 정다각형에 내접하는 가장 큰 원의 면적은?

접근 방식은 간단합니다. N개의 변이 있는 다각형 하나를 N개의 동일한 삼각형으로 나눌 수 있으며, 중심에 있는 각 삼각형의 전체 각도는 360/N이므로 -

C 프로그램에서 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