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

C 프로그램으로 원에 내접하는 정십각형의 넓이 구하기

정십각형(regular decagon)은 열 개의 변과 각이 모두 같은 다각형을 말합니다. 이 글에서는 원의 반지름 r을 이용하여 원 안에 내접하는 정십각형의 넓이를 구하는 방법을 살펴보겠습니다.

수학적 접근 방법

먼저, 원에 내접하는 정십각형의 한 변의 길이는 코사인 법칙을 이용해 다음과 같이 계산할 수 있습니다.

a = r√(2 − 2cos36°)

다음은 정십각형의 넓이를 구하는 공식입니다.

Area = 5 × a² × (√5 + 2√5) / 2

위에서 구한 변의 길이 a = r√(2 − 2cos36°)를 공식에 대입하고 정리하면 최종 공식을 얻을 수 있습니다.

Area = (5r² × (3 − √5) × (√5 + 2√5)) / 4

C 프로그램 구현

이 공식을 C 프로그램에 적용하면 아래와 같습니다. 코드에는 math.h 헤더 파일의 pow()(거듭제곱)와 sqrt()(제곱근) 함수가 사용되었습니다.

예제 코드

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

int main() {
    float r = 8;  // 원의 반지름
    float area = (5 * pow(r, 2) * (3 - sqrt(5)) * (sqrt(5) + (2 * sqrt(5)))) / 4;
    printf("area = %f", area);
    return 0;
}

실행 결과

area = 409.968933

반지름이 8인 원에 내접하는 정십각형의 넓이는 약 409.97로 계산됩니다. 이처럼 삼각함수와 기하학 공식을 활용하면 복잡한 도형의 넓이도 간단한 C 코드로 손쉽게 구할 수 있습니다.