Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số đường chéo của đa giác lồi n mặt trong C ++

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