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

C++로 정다각형의 내각과 외각 구하는 프로그램 작성하기

이번 문제에서는 정다각형의 변의 개수를 나타내는 숫자 n이 주어집니다. 우리의 과제는 이 값을 이용해 C++로 정다각형의 내각과 외각을 구하는 프로그램을 작성하는 것입니다.

문제 설명

주어진 변의 개수 n에 대해, 해당 정다각형을 이루는 각각의 내각과 외각의 크기를 계산해야 합니다.

  • 내각(Interior Angle): 다각형의 두 인접한 변 사이에서 다각형 내부에 형성되는 각도입니다.
  • 외각(Exterior Angle): 다각형의 두 인접한 변 사이에서 다각형 외부에 형성되는 각도입니다.

예시로 이해하기

입력

n = 5

출력

Interior Angle = 108,
Exterior Angle = 72

즉, 변이 5개인 정오각형의 경우 각 내각은 108°, 각 외각은 72°가 됩니다.

해결 접근 방식

이 문제는 정다각형의 각도를 구하는 수학적 공식을 활용하면 아주 간단하게 해결할 수 있습니다.

외각 공식

( 360 ) / n

모든 정다각형에서 외각의 합은 항상 360°이므로, 변의 개수 n으로 나누면 하나의 외각 크기를 구할 수 있습니다.

내각 공식

180 - (360 / n)

다각형의 내각과 외각은 한 꼭짓점에서 서로 보각(두 각의 합이 180°) 관계에 있습니다. 따라서 180°에서 외각을 빼면 내각을 구할 수 있습니다.

예제 프로그램

아래는 위 해결 방식이 실제로 동작하는 모습을 보여주는 C++ 프로그램입니다.

#include <iostream>
using namespace std;

int FindExtAnglePolygon(int n) {
    return (360 / n);
}

int main() {
    int n = 10;
    cout<<"Interior Angle: "<<(180 - FindExtAnglePolygon(n));
    cout<<"\nExterior Angle: "<<FindExtAnglePolygon(n);
    return 0;
}

실행 결과

Interior Angle: 144
Exterior Angle: 36

코드 설명

위 프로그램은 변의 개수가 10개인 정십각형을 기준으로 동작합니다.

  • FindExtAnglePolygon() 함수는 360°를 변의 개수 n으로 나누어 외각을 계산합니다. 정십각형의 경우 360 ÷ 10 = 36°입니다.
  • 메인 함수에서는 180°에서 외각을 뺀 값(180 − 36 = 144°)을 내각으로 출력합니다.

이처럼 정다각형의 내각과 외각은 단순한 산술 연산만으로 손쉽게 구할 수 있으며, 시간 복잡도 역시 O(1)로 매우 효율적입니다.