Skip to content
Related Articles

Related Articles

Program to find the side of the Octagon inscribed within the square
  • Last Updated : 18 Mar, 2021

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++




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




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

Python3




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




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

Javascript




<script>
// javascript 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
    var s = a / (Math.sqrt(2) + 1);
    return s;
}
 
// Driver code
 
// Get he square side
var a = 4;
 
// Find the side length of the square
document.write( octaside(a).toFixed(5));
 
// This code is contributed by shikhasingrajput
</script>
Output: 
1.65685

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :