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

Given a cube of side length **a**, which inscribes a sphere which in turn inscribes a right circular cone. The task is to find the largest possible volume of this cone.**Examples:**

Input:a = 5Output:58.1481Input:a = 8Output:238.175

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.

**Approach**:

Let, the height of right circular cone = **h**.

Radius of the cone = **r**

Radius of the sphere = **R**

We, know radius of the sphere inside the cube, **r = a/2**. Please refer ( Largest sphere that can be inscribed inside a cube).

Also, height of cone inside the sphere, **h = 4r/3**.

radius of cone inside the sphere, **r = 2âˆš2r/3**. Please refer (Largest right circular cone that can be inscribed within a sphere).

So, height of the cone inside the sphere which in turn is inscribed within a cube, **h = 2a/3**.

Radius of the cone inside the sphere which in turn is inscribed within a cube, **r = âˆš2a/3**.

Below is the implementation of the above approach:

## C++

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

## Java

`// Java Program to find the biggest right circular cone` `// that can be inscribed within a right circular cone` `// which in turn is inscribed within a cube` `import` `java.io.*;` `class` `GFG` `{` ` ` `// Function to find the biggest right circular cone` `static` `float` `cone(` `float` `a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < ` `0` `)` ` ` `return` `-` `1` `;` ` ` `// radius of right circular cone` ` ` `float` `r = (` `float` `) (a * Math.sqrt(` `2` `)) / ` `3` `;` ` ` `// height of right circular cone` ` ` `float` `h = (` `2` `* a) / ` `3` `;` ` ` `// volume of right circular cone` ` ` `float` `V = (` `float` `)(` `3.14` `*Math. pow(r, ` `2` `) * h);` ` ` `return` `V;` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `float` `a = ` `5` `;` ` ` `System.out.println( cone(a));` `}` `}` `// This code is contributed by anuj_67..` |

## Python3

`# Python3 Program to find the biggest right` `# circular cone that can be inscribed within` `# a right circular cone which in turn is` `# inscribed within a cube` `import` `math` `# Function to find the biggest` `# right circular cone` `def` `cone(a):` ` ` `# side cannot be negative` ` ` `if` `(a < ` `0` `):` ` ` `return` `-` `1` `;` ` ` `# radius of right circular cone` ` ` `r ` `=` `(a ` `*` `math.sqrt(` `2` `)) ` `/` `3` `;` ` ` `# height of right circular cone` ` ` `h ` `=` `(` `2` `*` `a) ` `/` `3` `;` ` ` `# volume of right circular cone` ` ` `V ` `=` `3.14` `*` `math.` `pow` `(r, ` `2` `) ` `*` `h;` ` ` `return` `V;` `# Driver code` `a ` `=` `5` `;` `print` `(cone(a));` `# This code is contributed by` `# Shivi_Aggarwal` |

## C#

`// C# Program to find the biggest` `// right circular cone that can be` `// inscribed within a right circular cone` `// which in turn is inscribed within a cube` `using` `System;` `class` `GFG` `{` ` ` `// Function to find the biggest` `// right circular cone` `static` `double` `cone(` `double` `a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// radius of right circular cone` ` ` `double` `r = (` `double` `) (a * Math.Sqrt(2)) / 3;` ` ` `// height of right circular cone` ` ` `double` `h = (2 * a) / 3;` ` ` `// volume of right circular cone` ` ` `double` `V = (` `double` `)(3.14 * Math.Pow(r, 2) * h);` ` ` `return` `Math.Round(V,4);` `}` `// Driver code` `static` `void` `Main ()` `{` ` ` `double` `a = 5;` ` ` `Console.WriteLine(cone(a));` `}` `}` `// This code is contributed by chandan_jnu` |

## PHP

`<?php` `// PHP Program to find the biggest right` `// circular cone that can be inscribed` `// within a right circular cone which in` `// turn is inscribed within a cube` `// Function to find the biggest` `// right circular cone` `function` `cone(` `$a` `)` `{` ` ` `// side cannot be negative` ` ` `if` `(` `$a` `< 0)` ` ` `return` `-1;` ` ` `// radius of right circular cone` ` ` `$r` `= (` `$a` `* sqrt(2)) / 3;` ` ` `// height of right circular cone` ` ` `$h` `= (2 * ` `$a` `) / 3;` ` ` `// volume of right circular cone` ` ` `$V` `= 3.14 * pow(` `$r` `, 2) * ` `$h` `;` ` ` `return` `$V` `;` `}` `// Driver code` `$a` `= 5;` `echo` `round` `(cone(` `$a` `), 4);` `// This code is contributed by Ryuga` `?>` |

## Javascript

`<script>` `// javascript Program to find the biggest right circular cone` `// that can be inscribed within a right circular cone` `// which in turn is inscribed within a cube` `// Function to find the biggest right circular cone` `function` `cone(a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// radius of right circular cone` ` ` `var` `r = (a * Math.sqrt(2)) / 3;` ` ` `// height of right circular cone` ` ` `var` `h = (2 * a) / 3;` ` ` `// volume of right circular cone` ` ` `var` `V = (3.14 *Math. pow(r, 2) * h);` ` ` `return` `V;` `}` `// Driver code` `var` `a = 5;` `document.write( cone(a).toFixed(5));` `// This code is contributed by Amit Katiyar` `</script>` |

**Output:**

58.1481