Dado un cilindro circular recto de altura y radio . La tarea es encontrar la longitud de la varilla más larga que se puede insertar dentro de ella.
Ejemplos :
Input : h = 4, r = 1.5 Output : 5 Input : h= 12, r = 2.5 Output : 13
Enfoque :
A partir de la figura, está claro que podemos obtener la longitud de la barra usando el teorema de Pitágoras, tratando la altura del cilindro como perpendicular , el diámetro como base y la longitud de la barra como hipotenusa .
Entonces, l 2 = h 2 + 4*r 2 .
Por lo tanto,
l = √(h2 + 4*r2)
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program to find the longest rod // that can be fit within a right circular cylinder #include <bits/stdc++.h> using namespace std; // Function to find the side of the cube float rod(float h, float r) { // height and radius cannot be negative if (h < 0 && r < 0) return -1; // length of rod float l = sqrt(pow(h, 2) + 4 * pow(r, 2)); return l; } // Driver code int main() { float h = 4, r = 1.5; cout << rod(h, r) << endl; return 0; }
Java
// Java Program to find the longest rod // that can be fit within a right circular cylinder import java.io.*; class GFG { // Function to find the side of the cube static float rod(float h, float r) { // height and radius cannot be negative if (h < 0 && r < 0) return -1; // length of rod float l = (float)(Math.sqrt(Math.pow(h, 2) + 4 * Math.pow(r, 2))); return l; } // Driver code public static void main (String[] args) { float h = 4; float r = 1.5f; System.out.print(rod(h, r)); } } // This code is contributed by anuj_67..
Python 3
# Python 3 Program to find the longest # rod that can be fit within a right # circular cylinder import math # Function to find the side of the cube def rod(h, r): # height and radius cannot # be negative if (h < 0 and r < 0): return -1 # length of rod l = (math.sqrt(math.pow(h, 2) + 4 * math.pow(r, 2))) return float(l) # Driver code h , r = 4, 1.5 print(rod(h, r)) # This code is contributed # by PrinciRaj1992
C#
// C# Program to find the longest // rod that can be fit within a // right circular cylinder using System; class GFG { // Function to find the side // of the cube static float rod(float h, float r) { // height and radius cannot // be negative if (h < 0 && r < 0) return -1; // length of rod float l = (float)(Math.Sqrt(Math.Pow(h, 2) + 4 * Math.Pow(r, 2))); return l; } // Driver code public static void Main () { float h = 4; float r = 1.5f; Console.WriteLine(rod(h, r)); } } // This code is contributed by shs
PHP
<?php // PHP Program to find the longest // rod that can be fit within a // right circular cylinder // Function to find the side // of the cube function rod($h, $r) { // height and radius cannot // be negative if ($h < 0 && $r < 0) return -1; // length of rod $l = sqrt(pow($h, 2) + 4 * pow($r, 2)); return $l; } // Driver code $h = 4; $r = 1.5; echo rod($h, $r) . "\n"; // This code is contributed // by Akanksha Rai ?>
Javascript
<script> // javascript Program to find the longest rod // that can be fit within a right circular cylinder // Function to find the side of the cube function rod(h , r) { // height and radius cannot be negative if (h < 0 && r < 0) return -1; // length of rod var l = (Math.sqrt(Math.pow(h, 2) + 4 * Math.pow(r, 2))); return l; } // Driver code var h = 4; var r = 1.5; document.write(rod(h, r)); // This code contributed by shikhasingrajput </script>
Producción:
5
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