Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Largest cone that can be inscribed within a cube

  • Last Updated : 17 Mar, 2021

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

 

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.



 

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

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :