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