# Largest cube that can be inscribed within the sphere

Given here is a sphere of radius **r**, the task is to find the side of the largest cube that can fit inside in it.**Examples:**

Input:r = 8Output:9.2376Input:r = 5Output:5.7735

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**:

Side of the cube =

a

Radius of the sphere =r

From the diagonal, it is clear that, diagonal of the cube = diameter of the sphere,a√3 = 2ror,a = 2r/√3

Below is the implementation:

## C++

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

## Java

`// Java Program to find the biggest cube` `// inscribed within a sphere` `import` `java.util.*;` `class` `Solution{` `// Function to find the side of the cube` `static` `float` `largestCube(` `float` `r)` `{` ` ` ` ` `// radius cannot be negative` ` ` `if` `(r < ` `0` `)` ` ` `return` `-` `1` `;` ` ` ` ` `// side of the cube` ` ` `float` `a = (` `2` `* r) / (` `float` `)Math.sqrt(` `3` `);` ` ` `return` `a;` `}` ` ` `// Driver code` `public` `static` `void` `main(String args[])` `{` ` ` `float` `r = ` `5` `;` ` ` `System.out.println( largestCube(r));` ` ` `}` `}` `//contributed by Arnab Kundu` |

## Python3

`# Python 3 Program to find the biggest` `# cube inscribed within a sphere` `from` `math ` `import` `sqrt` `# Function to find the side of the cube` `def` `largestCube(r):` ` ` ` ` `# radius cannot be negative` ` ` `if` `(r < ` `0` `):` ` ` `return` `-` `1` ` ` `# side of the cube` ` ` `a ` `=` `(` `2` `*` `r) ` `/` `sqrt(` `3` `)` ` ` `return` `a` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `r ` `=` `5` ` ` `print` `(` `"{0:.6}"` `.` `format` `(largestCube(r)))` `# This code is contributed` `# by SURENDRA_GANGWAR` |

## C#

`// C# Program to find the biggest cube` `// inscribed within a sphere` `using` `System;` `class` `Solution{` `// Function to find the side of the cube` `static` `float` `largestCube(` `float` `r)` `{` ` ` `// radius cannot be negative` ` ` `if` `(r < 0)` ` ` `return` `-1;` ` ` `// side of the cube` ` ` `float` `a = (2 * r) / (` `float` `)Math.Sqrt(3);` ` ` `return` `a;` `}` `// Driver code` `static` `void` `Main()` `{` ` ` `float` `r = 5;` ` ` `Console.WriteLine( largestCube(r));` `}` `}` `//This code is contributed by mits` |

## PHP

`<?php` `// PHP Program to find the biggest` `// cube inscribed within a sphere` `// Function to find the side` `// of the cube` `function` `largestCube(` `$r` `)` `{` ` ` `// radius cannot be negative` ` ` `if` `(` `$r` `< 0)` ` ` `return` `-1;` ` ` `// side of the cube` ` ` `$a` `= (float)((2 * ` `$r` `) / sqrt(3));` ` ` `return` `$a` `;` `}` `// Driver code` `$r` `= 5;` `echo` `largestCube(` `$r` `);` `// This code is contributed by akt_mit` `?>` |

## Javascript

`<script>` `// javascript Program to find the biggest cube` `// inscribed within a sphere` `// Function to find the side of the cube` `function` `largestCube(r)` `{` ` ` ` ` `// radius cannot be negative` ` ` `if` `(r < 0)` ` ` `return` `-1;` ` ` ` ` `// side of the cube` ` ` `var` `a = (2 * r) / Math.sqrt(3);` ` ` `return` `a;` `}` ` ` `// Driver code ` `var` `r = 5;` `document.write( largestCube(r).toFixed(5));` `// This code is contributed by 29AjayKumar` `</script>` |

**Output:**

5.7735