Thursday, January 16, 2025
Google search engine
HomeData Modelling & AILength of the Diagonal of the Octagon

Length of the Diagonal of the Octagon

Given here is a regular octagon of side length a, the task is to find the length of it’s diagonal.
Examples: 
 

Input: a = 4
Output: 10.4525

Input: a = 5
Output: 13.0656

 

 

Approach: From the diagram it is clear that,
 

AB^2 + BC^2 = AC^2 
here, in triangle AED, 
b^2 + b^2 = a^2 
or, b=a/?2(Please refer
So, AB = a + 2b = a + ?2a 
and, BC = a 
So, diagonal AC = a?(4 + 2?2)

Below is the implementation of the above approach: 
 

C++




// C++ Program to find the diagonal
// of the octagon
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the diagonal
// of the octagon
float octadiagonal(float a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // diagonal of the octagon
    return a * sqrt(4 + (2 * sqrt(2)));
}
 
// Driver code
int main()
{
    float a = 4;
    cout << octadiagonal(a) << endl;
 
    return 0;
}


Java




// Java  Program to find the diagonal
// of the octagon
import java.util.*;
class solution
{
   
// Function to find the diagonal
// of the octagon
static double octadiagonal(double a)
{
   
    // side cannot be negative
    if (a < 0)
        return -1;
   
    // diagonal of the octagon
    return a * Math.sqrt(4 + (2 * Math.sqrt(2)));
}
   
// Driver code
public static void main(String args[])
{
    double a = 4;
    System.out.println( octadiagonal(a));
   
}
}
//contributed by Arnab Kundu


Python3




# Python3 Program to find the diagonal
# of the octagon
import math
# Function to find the diagonal
# of the octagon
def octadiagonal(a):
 
    # side cannot be negative
    if (a < 0):
        return -1;
 
    # diagonal of the octagon
    return a * math.sqrt(4 + (2 * math.sqrt(2)))
 
 
# Driver code
if __name__=='__main__':
    a = 4
    print (octadiagonal(a))
 
# This code is contributed by
# Shivi_Aggarwal


C#




// C# Program to find the diagonal
// of the octagon
using System;
 
class GFG
{
 
// Function to find the diagonal
// of the octagon
static double octadiagonal(double a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // diagonal of the octagon
    return a * Math.Sqrt(4 +
          (2 * Math.Sqrt(2)));
}
 
// Driver code
public static void Main()
{
    double a = 4;
    Console.WriteLine(octadiagonal(a));
}
}
 
// This code is contributed
// by inder_verma


PHP




<?php
// PHP program to find the diagonal
// of the octagon
 
// Function to find the diagonal
// of the octagon
function octadiagonal($a)
{
 
    // side cannot be negative
    if ($a < 0)
        return -1;
 
    // diagonal of the octagon
    return $a * sqrt(4 + (2 * sqrt(2)));
}
 
// Driver code
 
    $a = 4;
    echo octadiagonal($a) ;
 
// This code is contributed
// by inder_verma
 
?>


Javascript




<script>
// javascript  Program to find the diagonal
// of the octagon
 
// Function to find the diagonal
// of the octagon
function octadiagonal(a)
{
   
    // side cannot be negative
    if (a < 0)
        return -1;
   
    // diagonal of the octagon
    return a * Math.sqrt(4 + (2 * Math.sqrt(2)));
}
 
var a = 4;
document.write( octadiagonal(a).toFixed(5));
 
// This code is contributed by 29AjayKumar
</script>


Output: 

10.4525

 

Time complexity: O(1), since there is no loop or recursion.

Auxiliary Space: O(1), since no extra space has been taken.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments