โจทย์
ได้รับจำนวนเต็ม 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