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 octagonfloat octadiagonal(float a){ // side cannot be negative if (a < 0) return -1; // diagonal of the octagon return a * sqrt(4 + (2 * sqrt(2)));}// Driver codeint 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 octagonimport math# Function to find the diagonal# of the octagondef 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 codeif __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 octagonfunction 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 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!




