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

C언어로 정삼각형 내접원의 넓이와 둘레 계산하기: 개념부터 코드까지


정삼각형(Equilateral Triangle)이란?

이름에서 알 수 있듯이 정삼각형은 세 변의 길이가 모두 같고, 세 내각 또한 각각 60°로 동일한 삼각형입니다. 정다각형(regular polygon)에 속하기 때문에 '정규 삼각형'이라고도 불립니다.

정삼각형의 주요 성질은 다음과 같습니다.

  • 세 변의 길이가 모두 같다
  • 세 내각의 크기가 모두 60°로 동일하다

내접원(Incircle)이란?

내접원은 삼각형의 내부에 위치하는 원으로, 삼각형의 세 변에 모두 닿으며 원의 중심이 삼각형의 중심과 일치합니다. 이때 내접원의 중심을 내심(incenter), 반지름을 내접반지름(inradius)이라고 합니다.

아래 그림은 정삼각형의 내접원을 나타낸 것입니다.

C언어로 정삼각형 내접원의 넓이와 둘레 계산하기: 개념부터 코드까지

문제 정의

정삼각형의 한 변의 길이가 주어졌을 때, 그 삼각형 안에 내접하는 원의 넓이(area)둘레(perimeter)를 구하는 것이 과제입니다. 여기서 넓이란 도형이 차지하는 평면 공간의 크기를 의미합니다.

정삼각형 내접원의 넓이와 둘레는 다음 공식을 이용해 계산할 수 있습니다.

내접원의 넓이 = a² × (π / 12)
내접원의 둘레 = π × (a / √3)

여기서 a는 정삼각형의 한 변의 길이, π는 원주율(약 3.14)입니다. 참고로 정삼각형의 내접반지름은 r = a / (2√3)이며, 이 값을 원의 넓이 공식 πr²와 둘레 공식 2πr에 대입하면 위 공식을 유도할 수 있습니다.

예시

Input-: side=2.0
Output-: Area of inscribed circle is :1.046667
    Perimeter of inscribed circle is :3.625760

알고리즘

  1. #define pi 3.14와 같이 원주율 매크로를 정의합니다.
  2. 내접원의 넓이를 구하는 함수 float area(float a)를 선언하고, a * a * (pi / 12)를 반환하도록 작성합니다.
  3. 내접원의 둘레를 구하는 함수 float perimeter(float a)를 선언하고, pi * (a / sqrt(3))를 반환하도록 작성합니다.
  4. main() 함수에서 변의 길이를 저장할 변수(예: float a = 2.0)를 선언한 후 area(a)perimeter(a)를 호출하여 결과를 출력합니다.

C 언어 구현 코드

#include <math.h>
#include <stdio.h>
#define pi 3.14

// 내접원의 넓이를 구하는 함수
float area(float a){
    return (a * a * (pi / 12));
}

// 내접원의 둘레를 구하는 함수
float perimeter(float a){
    return (pi * (a / sqrt(3)));
}

int main(){
    float a = 2.0;
    printf("Area of inscribed circle is :%f\n",area(a));
    printf("Perimeter of inscribed circle is :%f",perimeter(a));
    return 0;
}

실행 결과

Area of inscribed circle is :1.046667
Perimeter of inscribed circle is :3.625760

변의 길이가 2.0인 정삼각형의 경우, 내접원의 넓이는 약 1.0467, 둘레는 약 3.6258로 계산됩니다. 이처럼 공식만 알고 있다면 복잡한 계산 과정 없이도 간단한 C 프로그램으로 정삼각형 내접원의 넓이와 둘레를 손쉽게 구할 수 있습니다.