Open In App

Largest cone that can be inscribed within a cube

Last Updated : 27 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
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.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads