# Largest right circular cone that can be inscribed within a sphere

• Last Updated : 17 Mar, 2021

Given sphere of radius . The task is to find the radius of base and height of the largest right circular cone that can be inscribed within it.
Examples

Input : R = 10
Output : r = 9.42809, h = 13.3333

Input : R = 25
Output : r = 23.5702, h = 33.3333

Approach:
Let the radius of the cone = r
height of the cone = h
From the diagram it is clear that:
x = âˆš(R^2 – r^2) and h=x+R
Now using these values we get,

To maximize the volume of the cone(V):
V = (Ï€r2h)/3
From the diagram,
V = (Ï€r2R)/3 + Ï€r2âˆš(R2 – r2)/3
Taking first derivative of V with respect to r we get,

Now, setting dV/dr = 0 we get,

Squaring both sides and solving we get,

since, h = R + âˆš(R2 – r2)
Now calculating the second derivative we get

*** QuickLaTeX cannot compile formula:

*** Error message:
Error: Nothing to show, formula is empty


Thus r=(2Râˆš2)/3 is point of maxima
So, h = 4R/3

Below is the implementation of the above approach:

## C++

 // C++ Program to find the biggest cone// that can be inscribed within a sphere#include using namespace std; // Function to find the radius of the conefloat coner(float R){     // radius cannot be negative    if (R < 0)        return -1;     // radius of the cone    float r = (2 * sqrt(2) * R) / 3;    return r;} // Function to find the height of the conefloat coneh(float R){     // side cannot be negative    if (R < 0)        return -1;     // height of the cone    float h = (4 * R) / 3;    return h;} // Driver codeint main(){    float R = 10;     cout << "r = " << coner(R) << ", "         << "h = " << coneh(R) << endl;     return 0;}

## Java

 // Java Program to find the biggest cone// that can be inscribed within a sphereimport java.util.*;import java.lang.*; class GFG{// Function to find the radius// of the conestatic float coner(float R){    // radius cannot be negative    if (R < 0)        return -1;     // radius of the cone    float r = (float)(2 *            Math.sqrt(2) * R) / 3;    return r;} // Function to find the// height of the conestatic float coneh(float R){     // side cannot be negative    if (R < 0)        return -1;     // height of the cone    float h = (4 * R) / 3;    return h;} // Driver codepublic static void main(String args[]){    float R = 10;     System.out.println("r = " + coner(R) +                       ", " + "h = " + coneh(R));}} // This code is contributed// by Akanksha Rai

## Python3

 # Python 3 Program to find the biggest cone# that can be inscribed within a sphereimport math # Function to find the radius# of the conedef coner(R):         # radius cannot be negative    if (R < 0):        return -1;         # radius of the cone    r = (2 * math.sqrt(2) * R) / 3    return float(r) # Function to find the height# of the conedef coneh(R):         # side cannot be negative    if (R < 0):        return -1;     # height of the cone    h = (4 * R) / 3    return float(h) # Driver codeR = 10print("r = " , coner(R) ,      ", ", "h = " , coneh(R)) # This code is contributed# by 29AjayKumar

## C#

 // C# Program to find the biggest cone// that can be inscribed within a sphereusing System; class GFG{// Function to find the radius// of the conestatic float coner(float R){    // radius cannot be negative    if (R < 0)        return -1;     // radius of the cone    float r = (float)(2 *               Math.Sqrt(2) * R) / 3;    return r;} // Function to find the// height of the conestatic float coneh(float R){     // side cannot be negative    if (R < 0)        return -1;     // height of the cone    float h = (4 * R) / 3;    return h;} // Driver codepublic static void Main(){    float R = 10;     Console.WriteLine("r = " + coner(R) +                      ", " + "h = " + coneh(R));}} // This code is contributed// by Akanksha Rai

## PHP

 

## Javascript

 

Output:

r = 9.42809, h = 13.3333

My Personal Notes arrow_drop_up