Dado un tronco de altura , radio superior y radio base . La tarea es encontrar el volumen del cilindro circular recto más grande que se puede inscribir dentro de él.
Ejemplos:
Input : r = 5, R = 10, h = 4 Output : 314 Input : r = 7, R = 11, h = 6 Output : 923.16
Enfoque :
Sea:
- La altura del cilindro = h1
- Radio del cilindro = r1
De la figura es claro que:
- Altura del cilindro = Altura del tronco
- Radio del cilindro = Rop-radio del tronco
Asi que,
h1 = h r1 = r
A continuación se muestra la implementación del enfoque anterior:
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>
Producción:
923.16
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por IshwarGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA