Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Largest cube that can be inscribed within the sphere

  • Last Updated : 17 Mar, 2021

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

 

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 = 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

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :