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