Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Largest cube that can be inscribed within the sphere

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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 = 8
Output: 9.2376

Input: r = 5
Output: 5.7735

 

 

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 = 2r or, 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

 

Time Complexity: O(1)

Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Last Updated : 27 Jul, 2022
Like Article
Save Article
Similar Reads
Related Tutorials