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

C++에서 n 면 볼록 다각형의 대각선 수 찾기

<시간/>

숫자 n이 있고 n개의 면이 있는 볼록 다각형에 대한 대각선의 수를 찾아야 한다고 가정합니다. 따라서 n =5이면 대각선 개수는 5가 됩니다.

이것은 n면 볼록 다각형이므로 각 꼭짓점에서 n – 3개의 대각선을 그릴 수 있으며 두 면의 인접한 꼭짓점과 자신을 남깁니다. 따라서 n개의 정점에 대해 n*(n-3)이 되지만 두 번 고려하므로 n(n – 3)/2가 됩니다.

예시

#include<iostream>
using namespace std;
int diagonalCount(int n) {
   return n * (n - 3) / 2;
}
int main() {
   int n = 8;
   cout << n << " sided convex polygon has " << diagonalCount(n) << " diagonals";
}
이 있습니다.

출력

8 sided convex polygon has 20 diagonals