# Sum of lengths of all 12 edges of any rectangular parallelepiped

Given the area of three faces of the rectangular **parallelepiped** which has a common vertex. Our task is to find the **sum of lengths of all 12 edges** of this parallelepiped.

In geometry, a parallelepiped is a three-dimensional figure formed by six parallelograms. By analogy, it relates to a parallelogram just as a cube relates to a square or as a cuboid to a rectangle. A picture of a rectangular parallelepiped is shown below.

**Examples:**

Input:1 1 1Output:12Input:20 10 50Output:68

**Approach: ** The area given are s1, s2 and s3 . Let a, b and c be the lengths of the sides that have one common vertex. Where , , . It’s easy to find the length in terms of faces areas: , , . The answer will be the summation of all the 4 sides, there are four sides that have lengths equal to a, b and c.

In the first example the given area s1 = 1, s2 = 1 and s3 = 1. So with the above approach, the value of a, b, c will come out to be 1. So the sum of the length of all 12 edges will be 4 * 3 = 12.

Below is the implementation of the above approach:

## C++

`// C++ program to illustrate ` `// the above problem ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// function to find the sum of ` `// all the edges of parallelepiped ` `double` `findEdges(` `double` `s1, ` `double` `s2, ` `double` `s3) ` `{ ` ` ` `// to caculate the length of one edge ` ` ` `double` `a = ` `sqrt` `(s1 * s2 / s3); ` ` ` `double` `b = ` `sqrt` `(s3 * s1 / s2); ` ` ` `double` `c = ` `sqrt` `(s3 * s2 / s1); ` ` ` ` ` `// sum of all the edges of one side ` ` ` `double` `sum = a + b + c; ` ` ` ` ` `// net sum will be equal to the ` ` ` `// summation of edges of all the sides ` ` ` `return` `4 * sum; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `// initialize the area of three ` ` ` `// faces which has a common vertex ` ` ` `double` `s1, s2, s3; ` ` ` `s1 = 65, s2 = 156, s3 = 60; ` ` ` ` ` `cout << findEdges(s1, s2, s3); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to illustrate ` `// the above problem ` ` ` `import` `java.io.*; ` ` ` `class` `GFG { ` ` ` `// function to find the sum of ` `// all the edges of parallelepiped ` `static` `double` `findEdges(` `double` `s1, ` `double` `s2, ` `double` `s3) ` `{ ` ` ` `// to caculate the length of one edge ` ` ` `double` `a = Math.sqrt(s1 * s2 / s3); ` ` ` `double` `b = Math.sqrt(s3 * s1 / s2); ` ` ` `double` `c = Math.sqrt(s3 * s2 / s1); ` ` ` ` ` `// sum of all the edges of one side ` ` ` `double` `sum = a + b + c; ` ` ` ` ` `// net sum will be equal to the ` ` ` `// summation of edges of all the sides ` ` ` `return` `4` `* sum; ` `} ` ` ` ` ` `// Driver code ` ` ` ` ` `public` `static` `void` `main (String[] args) { ` ` ` `// initialize the area of three ` ` ` `// faces which has a common vertex ` ` ` `double` `s1, s2, s3; ` ` ` `s1 = ` `65` `; s2 = ` `156` `; s3 = ` `60` `; ` ` ` ` ` `System.out.print(findEdges(s1, s2, s3)); ` ` ` `} ` `} ` ` ` ` ` `// this code is contributed by anuj_67.. ` |

*chevron_right*

*filter_none*

## Python3

`import` `math ` ` ` `# Python3 program to illustrate ` `# the above problem ` ` ` `# function to find the sum of ` `# all the edges of parallelepiped ` `def` `findEdges(s1, s2, s3): ` ` ` ` ` `# to caculate the length of one edge ` ` ` `a ` `=` `math.sqrt(s1 ` `*` `s2 ` `/` `s3) ` ` ` `b ` `=` `math.sqrt(s3 ` `*` `s1 ` `/` `s2) ` ` ` `c ` `=` `math.sqrt(s3 ` `*` `s2 ` `/` `s1) ` ` ` ` ` `# sum of all the edges of one side ` ` ` `sum` `=` `a ` `+` `b ` `+` `c ` ` ` ` ` `# net sum will be equal to the ` ` ` `# summation of edges of all the sides ` ` ` `return` `4` `*` `sum` ` ` ` ` `# Driver code ` `if` `__name__` `=` `=` `'__main__'` `: ` ` ` `# initialize the area of three ` `# faces which has a common vertex ` ` ` `s1 ` `=` `65` ` ` `s2 ` `=` `156` ` ` `s3 ` `=` `60` ` ` ` ` `print` `(` `int` `(findEdges(s1, s2, s3))) ` ` ` `# This code is contributed by ` `# Shivi_Aggarwal ` |

*chevron_right*

*filter_none*

## C#

`// C# program to illustrate ` `// the above problem ` `using` `System; ` ` ` `public` `class` `GFG{ ` ` ` `// function to find the sum of ` `// all the edges of parallelepiped ` `static` `double` `findEdges(` `double` `s1, ` `double` `s2, ` `double` `s3) ` `{ ` ` ` `// to caculate the length of one edge ` ` ` `double` `a = Math.Sqrt(s1 * s2 / s3); ` ` ` `double` `b = Math.Sqrt(s3 * s1 / s2); ` ` ` `double` `c = Math.Sqrt(s3 * s2 / s1); ` ` ` ` ` `// sum of all the edges of one side ` ` ` `double` `sum = a + b + c; ` ` ` ` ` `// net sum will be equal to the ` ` ` `// summation of edges of all the sides ` ` ` `return` `4 * sum; ` `} ` ` ` `// Driver code ` ` ` ` ` `static` `public` `void` `Main (){ ` ` ` `// initialize the area of three ` ` ` `// faces which has a common vertex ` ` ` `double` `s1, s2, s3; ` ` ` `s1 = 65; s2 = 156; s3 = 60; ` ` ` ` ` `Console.WriteLine(findEdges(s1, s2, s3)); ` ` ` `} ` `} ` ` ` ` ` `// This code is contributed by anuj_67.. ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP program to illustrate ` `// the above problem ` ` ` `// function to find the sum of ` `// all the edges of parallelepiped ` `function` `findEdges(` `$s1` `, ` `$s2` `, ` `$s3` `) ` `{ ` ` ` `// to caculate the length of one edge ` ` ` `$a` `= sqrt(` `$s1` `* ` `$s2` `/ ` `$s3` `); ` ` ` `$b` `= sqrt(` `$s3` `* ` `$s1` `/ ` `$s2` `); ` ` ` `$c` `= sqrt(` `$s3` `* ` `$s2` `/ ` `$s1` `); ` ` ` ` ` `// sum of all the edges of one side ` ` ` `$sum` `= ` `$a` `+ ` `$b` `+ ` `$c` `; ` ` ` ` ` `// net sum will be equal to the ` ` ` `// summation of edges of all the sides ` ` ` `return` `4 * ` `$sum` `; ` `} ` ` ` `// Driver code ` ` ` `// initialize the area of three ` `// faces which has a common vertex ` `$s1` `; ` `$s2` `; ` `$s3` `; ` `$s1` `= 65; ` `$s2` `= 156; ` `$s3` `= 60; ` ` ` `echo` `findEdges(` `$s1` `, ` `$s2` `, ` `$s3` `); ` ` ` `// This code is contributed by Shashank ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

120

**Reference:** https://en.wikipedia.org/wiki/Parallelepiped

## Recommended Posts:

- Ways to Remove Edges from a Complete Graph to make Odd Edges
- Reach the numbers by making jumps of two given lengths
- Split the array into odd number of segments of odd lengths
- Number of triangles possible with given lengths of sticks which are powers of 2
- Rectangular (or Pronic) Numbers
- Find the volume of rectangular right wedge
- Maximum of smallest possible area that can get with exactly k cut of given rectangular
- Minimum number of square tiles required to fill the rectangular floor
- Number of Simple Graph with N Vertices and M Edges
- Maximum number of edges in Bipartite graph
- Program to find total number of edges in a Complete Graph
- Find middle point segment from given segment lengths
- Minimum edges to be added in a directed graph so that any node can be reachable from a given node
- Count of integers in a range which have even number of odd digits and odd number of even digits

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.