Related Articles

Related Articles

Largest cube that can be inscribed within the sphere
  • Last Updated : 27 Nov, 2018

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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :