给定正方形a 的边,任务是找到可以内接在给定正方形内的最大六边形的边。
例子:
Input: a = 6
Output: 3.1056
Input: a = 8
Output: 4.1408
方法: :让六边形的边为x并假设正方形的边a分为较小的长度b和较大的长度c即a = b + c
现在从图中,我们看到,
b2 + b2 = x2 which gives b = x / √2
Now again, d / (2 * x) = cos(30) = √3 / 2 i.e. d = x√3
And, c2 + c2 = d2 which gives c = d / √2 = x√3 / √2
Since, a = b + c. So, a = x / √2 + x√3 / √2 = ((1 + √3) / √2) * x = 1.932 * x
So, side of the hexagon, x = 0.5176 * a
下面是上述方法的实现:
C++
// C++ Program to find the biggest hexagon which
// can be inscribed within the given square
#include
using namespace std;
// Function to return the side
// of the hexagon
float hexagonside(float a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Side of the hexagon
float x = 0.5176 * a;
return x;
}
// Driver code
int main()
{
float a = 6;
cout << hexagonside(a) << endl;
return 0;
}
Java
// Java Program to find the biggest hexagon which
// can be inscribed within the given square
import java.io.*;
class GFG {
// Function to return the side
// of the hexagon
static double hexagonside(double a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Side of the hexagon
double x = (0.5176 * a);
return x;
}
// Driver code
public static void main (String[] args) {
double a = 6;
System.out.println (hexagonside(a));
}
//This code is contributed by ajit.
}
Python 3
# Python 3 Program to find the biggest
# hexagon which can be inscribed within
# the given square
# Function to return the side
# of the hexagon
def hexagonside(a):
# Side cannot be negative
if (a < 0):
return -1;
# Side of the hexagon
x = 0.5176 * a;
return x;
# Driver code
a = 6;
print(hexagonside(a));
# This code is contributed
# by Akanksha Rai
C#
// C# Program to find the biggest hexagon which
// can be inscribed within the given square
using System;
class GFG
{
// Function to return the side
// of the hexagon
static double hexagonside(double a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Side of the hexagon
double x = (0.5176 * a);
return x;
}
// Driver code
public static void Main ()
{
double a = 6;
Console.WriteLine(hexagonside(a));
}
}
// This code is contributed by Ryuga.
PHP
Javascript
输出:
3.1056
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。