Skip to content
Related Articles

Related Articles

Largest sphere that can be inscribed within a cube which is in turn inscribed within a right circular cone
  • Last Updated : 03 Apr, 2019


Given here is a right circular cone of radius r and perpendicular height h, which is inscribed in a cube which in turn is inscribed in a sphere, the task is to find the radius of the sphere.

Examples:

Input: h = 5, r = 6 
Output: 1.57306

Input: h = 8, r = 11
Output: 2.64156

Approach:

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ Program to find the biggest sphere
// which is inscribed within a cube which in turn
// inscribed within a right circular cone
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the radius of the sphere
float sphereSide(float h, float r)
{
    // height and radius cannot be negative
    if (h < 0 && r < 0)
        return -1;
  
    // radius of the sphere
    float R = ((h * r * sqrt(2)) / (h + sqrt(2) * r)) / 2;
  
    return R;
}
  
// Driver code
int main()
{
    float h = 5, r = 6;
  
    cout << sphereSide(h, r) << endl;
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to find the biggest sphere
// which is inscribed within a cube which in turn
// inscribed within a right circular cone
import java.lang.Math;
  
class GFG
{
      
// Function to find the radius of the sphere
static float sphereSide(float h, float r)
{
    // height and radius cannot be negative
    if (h < 0 && r < 0)
        return -1;
  
    // radius of the sphere
    float R = (float)((h * r * Math.sqrt(2)) / 
                    (h + Math.sqrt(2) * r)) / 2;
  
    return R;
}
  
// Driver code
public static void main(String[] args)
{
    float h = 5, r = 6;
  
    System.out.println(sphereSide(h, r));
  
}
}
  
// This code is contributed by Code_Mech.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Program to find the biggest sphere
# which is inscribed within a cube which in turn
# inscribed within a right circular cone
import math
  
# Function to find the radius of the sphere
def sphereSide(h, r):
  
    # height and radius cannot be negative
    if h < 0 and r < 0:
        return -1
  
    # radius of the sphere
    R = (((h * r * math.sqrt(2))) / 
              (h + math.sqrt(2) * r) / 2)
  
    return R
  
# Driver code
h = 5; r = 6
print(sphereSide(h, r))
  
# This code is contributed by Shrikant13

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to find the biggest sphere
// which is inscribed within a cube which in turn
// inscribed within a right circular cone
using System;
  
class GFG
{
      
// Function to find the radius of the sphere
static float sphereSide(float h, float r)
{
    // height and radius cannot be negative
    if (h < 0 && r < 0)
        return -1;
  
    // radius of the sphere
    float R = (float)((h * r * Math.Sqrt(2)) / 
                      (h + Math.Sqrt(2) * r)) / 2;
  
    return R;
}
  
// Driver code
public static void Main()
{
    float h = 5, r = 6;
  
    Console.WriteLine(sphereSide(h, r));
}
}
  
// This code is contributed by Code_Mech

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP Program to find the biggest sphere
// which is inscribed within a cube which in turn
// inscribed within a right circular cone
  
// Function to find the radius of the sphere
function sphereSide($h, $r)
{
    // height and radius cannot be negative
    if ($h < 0 && $r < 0)
        return -1;
  
    // radius of the sphere
    $R = (($h * $r * sqrt(2)) / 
          ($h + sqrt(2) * $r)) / 2;
  
    return $R;
}
  
// Driver code
$h = 5; $r = 6;
  
echo(sphereSide($h, $r));
  
// This code is contributed by Code_Mech.
?>

chevron_right


Output:

1.57306

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 :