Saturday, October 5, 2024
Google search engine
HomeData Modelling & AILargest cone that can be inscribed within a cube

Largest cone that can be inscribed within a cube

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.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments