Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Diện tích đa giác đều n cạnh với độ dài cạnh cho trước trong C++

Tính diện tích đa giác đều n cạnh, cạnh dài a.

Chia đa giác thành n tam giác cân cùng đỉnh tại tâm. Mỗi tam giác có đáy a, góc đỉnh 360/n (hoặc 180/n tùy cách chia). Diện tích một tam giác = 1/2 * a * (a/2) / tan(180/n) = a^2 / (4 * tan(180/n)). Diện tích đa giác = n * a^2 / (4 * tan(180/n)).

Lưu ý: tan trong C++ nhận radian, cần đổi độ sang rad: (180/n) * PI / 180 = PI/n.

Thuật toán

Bước 1: Tính góc = 180 / n (độ)
Bước 2: Diện tích = n * a * a / (4 * tan(góc * PI / 180))
Bước 3: In kết quả

Ví dụ code

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    float a = 12, n = 9;
    float area = (a * a * n) / (4 * tan((180 / n) * 3.14159 / 180));
    cout << "Dien tich " << n << " canh deu, canh " << a << " la " << area;
    return 0;
}

Kết quả

Dien tich 9 canh deu, canh 12 la 890.183