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

หาความยาวเส้นทแยงมุมของหกเหลี่ยมปกติใน C++

โจทย์

ได้รับจำนวนเต็ม n แทนความยาวด้านของหกเหลี่ยมปกติ (Regular Hexagon) ทางเราต้อง หาความยาวเส้นทแยงมุมของหกเหลี่ยม

ตัวอย่าง

Input: a = 7

Output: 12.11

แนวทางแก้ปัญหา

เส้นทแยงมุมของหกเหลี่ยมปกติมีความยาว d = 1.73 * a (ประมาณ √3 * a)

การพิสูจน์: มุมระหว่างเส้นทแยงกับด้าน = 60°, sin(60°) = (d/2)/a = 0.866 => d = 2 * 0.866 * a = 1.732 * a

โปรแกรมตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    float a = 12;
    float d = 1.73 * a;
    cout << "The length of diagonal is " << d;
    return 0;
}

ผลลัพธ์

The length of diagonal is 20.76