मान लीजिए हमारे पास एक संख्या 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