Giả sử chúng ta có một số n, và chúng ta phải tìm số đường chéo của đa giác lồi n mặt. Vì vậy, nếu n =5, thì số đường chéo sẽ là 5.
Vì đây là đa giác lồi n cạnh, từ mỗi đỉnh ta có thể vẽ n - 3 đường chéo để lại hai đỉnh kề nhau và chính nó. Vì vậy, đối với n đỉnh, nó sẽ là n * (n-3), nhưng vì chúng ta đang xét hai lần, vì vậy nó sẽ là n (n - 3) / 2.
Ví dụ
#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";
} Đầu ra
8 sided convex polygon has 20 diagonals