Given a square of side length ‘a’, the task is to find the side length of the biggest octagon that can be inscribed within it.
Examples:
Input: a = 4 Output: 1.65685 Input: a = 5 Output: 2.07107
Approach:
=> From the figure, it can be seen that, side length of the Octagon = b
=> Also since the polygons are regular, therefore 2*x + b = a
=> From the right angled triangle, x^2 + x^2 = b^2=> Hence, x = b/√2,
=> So, √2b + b = a=> Therefore, b = a/(√2 +1)
Below is the implementation of the above approach:
// C++ Program to find the side of the octagon // which can be inscribed within the square #include <bits/stdc++.h> using namespace std;
// Function to find the side // of the octagon float octaside( float a)
{ // side cannot be negative
if (a < 0)
return -1;
// side of the octagon
float s = a / ( sqrt (2) + 1);
return s;
} // Driver code int main()
{ // Get he square side
float a = 4;
// Find the side length of the square
cout << octaside(a) << endl;
return 0;
} |
// Java Program to find the side of the octagon // which can be inscribed within the square import java.io.*;
class GFG {
// Function to find the side // of the octagon static double octaside( double a)
{ // side cannot be negative
if (a < 0 )
return - 1 ;
// side of the octagon
double s = a / (Math.sqrt( 2 ) + 1 );
return s;
} // Driver code public static void main (String[] args) {
// Get he square side
double a = 4 ;
// Find the side length of the square
System.out.println( octaside(a));
}
} //This Code is contributed by ajit |
# Python 3 Program to find the side # of the octagon which can be # inscribed within the square from math import sqrt
# Function to find the side # of the octagon def octaside(a):
# side cannot be negative
if a < 0 :
return - 1
# side of the octagon
s = a / (sqrt( 2 ) + 1 )
return s
# Driver code if __name__ = = '__main__' :
# Get he square side
a = 4
# Find the side length of the square
print ( "{0:.6}" . format (octaside(a)))
# This code is contributed # by Surendra_Gangwar |
// C# Program to find the side // of the octagon which can be // inscribed within the square using System;
class GFG
{ // Function to find the side // of the octagon static double octaside( double a)
{ // side cannot be negative
if (a < 0)
return -1;
// side of the octagon
double s = a / (Math.Sqrt(2) + 1);
return s;
} // Driver code static public void Main ()
{ // Get he square side
double a = 4;
// Find the side length
// of the square
Console.WriteLine( octaside(a));
} } // This code is contributed // by akt_mit |
<?php // PHP Program to find the side of the octagon // which can be inscribed within the square // Function to find the side // of the octagon function octaside( $a )
{ // side cannot be negative
if ( $a < 0)
return -1;
// side of the octagon
$s = $a / (sqrt(2) + 1);
return $s ;
} // Driver code // Get he square side
$a = 4;
// Find the side length of the square
echo octaside( $a );
// This code is contributed by ajit ?> |
1.65685
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.