Open In App

Largest cone that can be inscribed within a cube

Last Updated : 27 Aug, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given here is a cube of side length a. We have to find the height and the radius of the biggest right circular cone that can be inscribed within it.
Examples
 

Input : a = 6 
Output : r = 4.24264, h = 6

Input : a = 10
Output : r = 7.07107, h = 10


 


 


Approach
Let height of the cone = h
and, radius of the cone = r.
From the diagram, we can clearly understand that, 
 

  • r = a/?2
  • h = a


Below is the implementation of the above approach: 
 

C++
// C++ Program to find the biggest cone
// inscribed within a cube

#include <bits/stdc++.h>
using namespace std;

// Function to find the radius of the cone
float coneRadius(float a)
{

    // side cannot be negative
    if (a < 0)
        return -1;

    // radius of the cone
    float r = a / sqrt(2);
    return r;
}

// Function to find the height of the cone
float coneHeight(float a)
{
    // side cannot be negative
    if (a < 0)
        return -1;

    // height of the cone
    float h = a;
    return h;
}

// Driver code
int main()
{
    float a = 6;

    cout << "r = " << coneRadius(a) << ", "
        << "h = " << coneHeight(a) << endl;

    return 0;
}
Java
// Java Program to find the biggest 
// cone inscribed within a cube
import java.util.*;
import java.lang.*;

class GFG
{
// Function to find the radius 
// of the cone
static float coneRadius(float a)
{

    // side cannot be negative
    if (a < 0)
        return -1;

    // radius of the cone
    float r = (float)(a / Math.sqrt(2));
    return r;
}

// Function to find the height 
// of the cone
static float coneHeight(float a)
{
    // side cannot be negative
    if (a < 0)
        return -1;

    // height of the cone
    float h = a;
    return h;
}

// Driver code
public static void main(String args[])
{
    float a = 6;

    System.out.println("r = " + coneRadius(a) + 
                    ", " + "h = " + coneHeight(a));
}
}

// This code is contributed 
// by Akanksha Rai
Python 3
# Python 3 Program to find the biggest 
# cone inscribed within a cube
import math

# Function to find the radius 
# of the cone
def coneRadius(a):

    # side cannot be negative
    if (a < 0):
        return -1

    # radius of the cone
    r = a / math.sqrt(2)
    return r

# Function to find the height of the cone
def coneHeight(a):

    # side cannot be negative
    if (a < 0):
        return -1

    # height of the cone
    h = a
    return h

# Driver code
if __name__ == "__main__":
    
    a = 6

    print("r = ", coneRadius(a) , 
          "h = ", coneHeight(a))

# This code is contributed by ChitraNayal
C#
// C# Program to find the biggest 
// cone inscribed within a cube
using System;

class GFG
{
// Function to find the radius 
// of the cone
static float coneRadius(float a)
{

    // side cannot be negative
    if (a < 0)
        return -1;

    // radius of the cone
    float r = (float)(a / Math.Sqrt(2));
    return r;
}

// Function to find the height 
// of the cone
static float coneHeight(float a)
{
    // side cannot be negative
    if (a < 0)
        return -1;

    // height of the cone
    float h = a;
    return h;
}

// Driver code
public static void Main()
{
    float a = 6;

    Console.WriteLine("r = " + coneRadius(a) + 
                       ", " + "h = " + coneHeight(a));
}
}

// This code is contributed 
// by Akanksha Rai
PHP
<?php
// PHP Program to find the biggest 
// cone inscribed within a cube

// Function to find the radius
// of the cone
function coneRadius($a)
{

    // side cannot be negative
    if ($a < 0)
        return -1;

    // radius of the cone
    $r = $a / sqrt(2);
    return $r;
}

// Function to find the height 
// of the cone
function coneHeight($a)
{
    // side cannot be negative
    if ($a < 0)
        return -1;

    // height of the cone
    $h = $a;
    return $h;
}

// Driver code
$a = 6;

echo ("r = ");
echo coneRadius($a);
echo (", ");

echo ("h = ");
echo (coneHeight($a));

// This code is contributed 
// by Shivi_Aggarwal
?>
JavaScript
<script>
// javascript Program to find the biggest 
// cone inscribed within a cube

// Function to find the radius 
// of the cone
function coneRadius(a)
{

    // side cannot be negative
    if (a < 0)
        return -1;

    // radius of the cone
    var r = (a / Math.sqrt(2));
    return r;
}

// Function to find the height 
// of the cone
function coneHeight(a)
{

    // side cannot be negative
    if (a < 0)
        return -1;

    // height of the cone
    var h = a;
    return h;
}

// Driver code
var a = 6;
document.write("r = " + coneRadius(a).toFixed(5) + 
                ", " + "h = " + coneHeight(a));

// This code is contributed by 29AjayKumar 
</script>

Output: 
r = 4.24264, h = 6

 

Time Complexity: O(1)

Auxiliary Space: O(1), since no extra space has been taken.


Article Tags :
Practice Tags :

Similar Reads