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

Đường chéo của Ngũ giác đều (Regular Pentagon) trong C++

Ngũ giác đều (Regular Pentagon) có 5 cạnh bằng nhau. Độ dài đường chéo (diagonal) liên quan đến cạnh (side) bởi **Tỷ số vàng (Golden Ratio φ ≈ 1.618)**.

Công thức

Diagonal = Side * φ = Side * (1 + √5) / 2

Xấp xỉ: Diagonal ≈ Side * 1.618

(Code gốc dùng công thức (1+2.24)*side/2 = 1.62*side, gần đúng).

Chương trình C++

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

double pentagonDiagonal(double side) {
    if (side < 0) return -1;
    const double phi = (1.0 + sqrt(5.0)) / 2.0; // Golden Ratio chính xác
    return side * phi;
}

int main() {
    double side = 5.0;
    double diag = pentagonDiagonal(side);
    
    cout << fixed << setprecision(4);
    cout << "Canh ngũ giac deu: " << side << endl;
    cout << "Duong cheo (phi * side): " << diag << endl;
    cout << "Ty so vang phi = " << (1.0 + sqrt(5.0)) / 2.0 << endl;
    return 0;
}

Đầu ra

Canh ngũ giac deu: 5.0000
Duong cheo (phi * side): 8.0902
Ty so vang phi = 1.6180

Lưu ý: Code gốc dùng hằng số 2.24 cho √5 (sai, √5 ≈ 2.236), dẫn đến kết quả 8.1. Phiên bản trên dùng `sqrt(5.0)` chính xác.