Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그램으로 주어진 반지름을 가진 n변 정다각형의 넓이 구하기

다각형(polygon)은 'n'개의 변으로 이루어진 닫힌 도형입니다. n변 정다각형이란 길이가 모두 같은 n개의 변을 가진 다각형을 의미하며, 다각형의 반지름(radius)은 중심에서 꼭짓점까지의 거리를 말합니다.

아래 그림에서 확인할 수 있듯이, 하나의 정다각형은 중심을 기준으로 n개의 동일한 삼각형으로 나눌 수 있습니다.

삼각형의 넓이를 구하는 기본 공식은 다음과 같습니다.

삼각형의 넓이 = (밑변 × 높이) / 2

여기에 삼각법(trigonometry)을 적용하면, 중심에서 나뉜 작은 삼각형 하나의 넓이는 다음과 같이 표현할 수 있습니다.

넓이 = r2·sin(t)·cos(t) = (r2·sin(2t)) / 2

따라서 정다각형의 전체 넓이는 한 삼각형의 넓이에 변의 개수 n을 곱한 값이 됩니다.

정다각형의 넓이 = n × (한 삼각형의 넓이)

= n × r2 × sin(2t) / 2
= n × r2 × sin(360/n) / 2

C 프로그램으로 주어진 반지름을 가진 n변 정다각형의 넓이 구하기

예제 코드

#include <stdio.h>
#include <math.h>

int main() {
    float r = 4, n = 12;
    float area = ((r * r * n) * sin((360 / n) * 3.14159 / 180)) / 2;
    printf("area = %f", area);
    return 0;
}

위 코드에서 r은 반지름, n은 변의 개수를 나타냅니다. C 언어의 sin() 함수는 라디안 단위를 사용하므로, 각도인 360/n을 라디안으로 변환하기 위해 π/180(3.14159/180)을 곱해주는 것이 핵심입니다.

출력 결과

area = 47.999962

반지름이 4이고 변이 12개인 정다각형의 넓이가 약 48.0으로 계산된 것을 확인할 수 있습니다. 이 공식은 변의 개수와 반지름만 알면 어떤 정다각형이든 넓이를 손쉽게 구할 수 있다는 장점이 있습니다.