# Largest cube that can be inscribed within a right circular cone

Given a right circular cone of radius **r** and perpendicular height **h**. We have to find the side length of the biggest cube that can be inscribed within it.**Examples**:

Input: h = 5, r = 6Output: 3.14613Input: h = 8, r = 12Output: 5.43698

**Approach**:

Let, side of the cube = **a**.

From the diagram, we can clearly understand using the properties of triangles: **BC/AB = DE/AD.****Therefore, **

r/h = (a/âˆš2)/(h-a)or,a = h*râˆš2/(h+âˆš2*r)

Below is the implementation of the above approach:

## C++

`// C++ Program to find the biggest cube` `// inscribed within a right circular cone` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the side of the cube` `float` `cubeSide(` `float` `h, ` `float` `r)` `{` ` ` `// height and radius cannot be negative` ` ` `if` `(h < 0 && r < 0)` ` ` `return` `-1;` ` ` `// side of the cube` ` ` `float` `a = (h * r * ` `sqrt` `(2)) / (h + ` `sqrt` `(2) * r);` ` ` `return` `a;` `}` `// Driver code` `int` `main()` `{` ` ` `float` `h = 5, r = 6;` ` ` `cout << cubeSide(h, r) << endl;` ` ` `return` `0;` `}` |

## Java

`// Java Program to find the biggest cube` `// which can be inscribed within a right circular cone` `import` `java.io.*;` `class` `GFG {` `// Function to find the side of the cube` `static` `float` `cube(` `float` `h, ` `float` `r)` `{` ` ` `// height and radius cannot be negative` ` ` `if` `(h < ` `0` `&& r < ` `0` `)` ` ` `return` `-` `1` `;` ` ` `// side of the cube` ` ` `float` `a = (h * r * (` `float` `)Math.sqrt(` `2` `)) / (h + (` `float` `)Math.sqrt(` `2` `) * r);` ` ` ` ` `return` `a;` `}` `// Driver code` ` ` ` ` `public` `static` `void` `main (String[] args) {` ` ` `float` `h = ` `5` `, r = ` `6` `;` ` ` `System.out.println( cube(h, r));` ` ` `}` `}` `// this article is contributed by Ishwar Gupta` |

## Python 3

`# Python3 Program to find the biggest cube` `# inscribed within a right circular cone` `import` `math` `# Function to find the side of the cube` `def` `cubeSide(h, r):` ` ` `# height and radius cannot` ` ` `# be negative` ` ` `if` `(h < ` `0` `and` `r < ` `0` `):` ` ` `return` `-` `1` ` ` `# side of the cube` ` ` `a ` `=` `((h ` `*` `r ` `*` `math.sqrt(` `2` `)) ` `/` ` ` `(h ` `+` `math.sqrt(` `2` `) ` `*` `r))` ` ` `return` `a` `# Driver code` `h ` `=` `5` `; r ` `=` `6` `;` `print` `(cubeSide(h, r), ` `"\n"` `)` `# This code is contributed` `# by Akanksha Rai` |

## C#

`// C# Program to find the ` `// biggest cube which can be` `// inscribed within a right` `// circular cone` `using` `System;` `class` `GFG` `{` `// Function to find the side` `// of the cube` `static` `float` `cube(` `float` `h, ` `float` `r)` `{` `// height and radius cannot be negative` `if` `(h < 0 && r < 0)` ` ` `return` `-1;` `// side of the cube` `float` `a = (h * r * (` `float` `)Math.Sqrt(2)) /` ` ` `(h + (` `float` `)Math.Sqrt(2) * r);` ` ` `return` `a;` `}` `// Driver code` `public` `static` `void` `Main ()` `{` ` ` `float` `h = 5, r = 6;` ` ` `Console.Write( cube(h, r));` `}` `}` `// This code is contributed` `// by 29AjayKumar` |

## PHP

`<?php` `// PHP Program to find the biggest cube` `// inscribed within a right circular cone` `// Function to find the side of the cube` `function` `cubeSide(` `$h` `, ` `$r` `)` `{` ` ` `// height and radius cannot` ` ` `// be negative` ` ` `if` `(` `$h` `< 0 && ` `$r` `< 0)` ` ` `return` `-1;` ` ` `// side of the cube` ` ` `$a` `= (` `$h` `* ` `$r` `* sqrt(2)) /` ` ` `(` `$h` `+ sqrt(2) * ` `$r` `);` ` ` `return` `$a` `;` `}` `// Driver code` `$h` `= 5;` `$r` `= 6;` `echo` `cubeSide(` `$h` `, ` `$r` `);` `// This code is contributed` `// by Shivi_Aggarwal` `?>` |

## Javascript

`<script>` `// javascript Program to find the biggest cube` `// which can be inscribed within a right circular cone` `// Function to find the side of the cube` `function` `cube(h , r)` `{` ` ` `// height and radius cannot be negative` ` ` `if` `(h < 0 && r < 0)` ` ` `return` `-1;` ` ` `// side of the cube` ` ` `var` `a = (h * r * Math.sqrt(2)) / (h + Math.sqrt(2) * r);` ` ` ` ` `return` `a;` `}` `// Driver code` ` ` `var` `h = 5, r = 6;` `document.write( cube(h, r).toFixed(5));` `// This code is contributed by 29AjayKumar` `</script>` |

**Output:**

3.14613

**Time Complexity: **O(1)

**Auxiliary Space: **O(1)