Given a frustum of height
Examples:
Input : r = 5, R = 10, h = 4 Output : 314 Input : r = 7, R = 11, h = 6 Output : 923.16
Approach:
Let:
- The height of the cylinder = h1
- Radius of the cylinder = r1
From the figure it is clear that:
- Height of the cylinder = Height of frustum
- Radius of the cylinder = Rop-radius of the frustum
So,
h1 = h r1 = r
Below is the implementation of the above approach:
C++
// C++ Program to find the biggest right circular cylinder // that can be fit within a frustum #include <bits/stdc++.h> using namespace std;
// Function to find the biggest right circular cylinder float cyl( float r, float R, float h)
{ // radii and height cannot be negative
if (h < 0 && r < 0 && R < 0)
return -1;
// radius of right circular cylinder
float r1 = r;
// height of right circular cylinder
float h1 = h;
// volume of right circular cylinder
float V = 3.14 * pow (r1, 2) * h1;
return V;
} // Driver code int main()
{ float r = 7, R = 11, h = 6;
cout << cyl(r, R, h) << endl;
return 0;
} |
Java
// Java Program to find the biggest right circular cylinder // that can be fit within a frustum import java.io.*;
class GFG {
// Function to find the biggest right circular cylinder static float cyl( float r, float R, float h)
{ // radii and height cannot be negative
if (h < 0 && r < 0 && R < 0 )
return - 1 ;
// radius of right circular cylinder
float r1 = r;
// height of right circular cylinder
float h1 = h;
// volume of right circular cylinder
float V = ( float )( 3.14 * Math.pow(r1, 2 ) * h1);
return V;
} // Driver code public static void main (String[] args) {
float r = 7 , R = 11 , h = 6 ;
System.out.print( cyl(r, R, h));
}
} // This code is contributed by anuj_67.. |
Python3
# Python3 Program to find the biggest right circular cylinder # that can be fit within a frustum # Function to find the biggest right circular cylinder def cyl(r, R, h) :
# radii and height cannot be negative
if (h < 0 and r < 0 and R < 0 ) :
return - 1
# radius of right circular cylinder
r1 = r
# height of right circular cylinder
h1 = h
# volume of right circular cylinder
V = 3.14 * pow (r1, 2 ) * h1
return round (V, 2 )
# Driver code if __name__ = = "__main__" :
r, R, h = 7 , 11 , 6
print (cyl(r, R, h))
# This code is contributed by Ryuga |
C#
// C# Program to find the biggest right circular cylinder // that can be fit within a frustum using System;
class GFG {
// Function to find the biggest right circular cylinder static float cyl( float r, float R, float h)
{ // radii and height cannot be negative
if (h < 0 && r < 0 && R < 0)
return -1;
// radius of right circular cylinder
float r1 = r;
// height of right circular cylinder
float h1 = h;
// volume of right circular cylinder
float V = ( float )(3.14 * Math.Pow(r1, 2) * h1);
return V;
} // Driver code public static void Main () {
float r = 7, R = 11, h = 6;
Console.WriteLine( cyl(r, R, h));
}
} // This code is contributed by anuj_67.. |
PHP
<?php // PHP Program to find the biggest // right circular cylinder that can // be fit within a frustum // Function to find the biggest // right circular cylinder function cyl( $r , $R , $h )
{ // radii and height cannot be negative
if ( $h < 0 && $r < 0 && $R < 0)
return -1;
// radius of right circular cylinder
$r1 = $r ;
// height of right circular cylinder
$h1 = $h ;
// volume of right circular cylinder
$V = (3.14 * pow( $r1 , 2) * $h1 );
return $V ;
} // Driver code $r = 7; $R = 11; $h = 6;
echo cyl( $r , $R , $h );
// This code is contributed // by Mukul Singh. |
Javascript
<script> // javascript Program to find the biggest right circular cylinder // that can be fit within a frustum // Function to find the biggest right circular cylinder function cyl(r , R , h)
{ // radii and height cannot be negative
if (h < 0 && r < 0 && R < 0)
return -1;
// radius of right circular cylinder
var r1 = r;
// height of right circular cylinder
var h1 = h;
// volume of right circular cylinder
var V = (3.14 * Math.pow(r1, 2) * h1);
return V;
} // Driver code var r = 7, R = 11, h = 6;
document.write( cyl(r, R, h).toFixed(5)); // This code is contributed by Princi Singh </script> |
Output:
923.16
Time Complexity: O(1)
Auxiliary Space: O(1)
Recommended Articles