মনে করুন আমাদের একটি সংখ্যা 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