Program to find the side of the Octagon inscribed within the square

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>
chevron_right

Output:
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.




Article Tags :
Practice Tags :