สมมติว่าเรามีตัวเลข 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