Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาจำนวนเส้นทแยงมุมในรูปหลายเหลี่ยม 볼록 n ด้านใน C++

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