Given here is a sphere of radius r, the task is to find the side of the largest cube that can fit inside in it.
Examples:
Input: r = 8 Output: 9.2376 Input: r = 5 Output: 5.7735
Approach:
Side of the cube = a
Radius of the sphere = r
From the diagonal, it is clear that, diagonal of the cube = diameter of the sphere,
a?3 = 2r or, a = 2r/?3
Below is the implementation:
C++
// C++ Program to find the biggest cube // inscribed within a sphere #include <bits/stdc++.h> using namespace std; // Function to find the side of the cube float largestCube( float r) { // radius cannot be negative if (r < 0) return -1; // side of the cube float a = (2 * r) / sqrt (3); return a; } // Driver code int main() { float r = 5; cout << largestCube(r) << endl; return 0; } |
Java
// Java Program to find the biggest cube // inscribed within a sphere import java.util.*; class Solution{ // Function to find the side of the cube static float largestCube( float r) { // radius cannot be negative if (r < 0 ) return - 1 ; // side of the cube float a = ( 2 * r) / ( float )Math.sqrt( 3 ); return a; } // Driver code public static void main(String args[]) { float r = 5 ; System.out.println( largestCube(r)); } } //contributed by Arnab Kundu |
Python3
# Python 3 Program to find the biggest # cube inscribed within a sphere from math import sqrt # Function to find the side of the cube def largestCube(r): # radius cannot be negative if (r < 0 ): return - 1 # side of the cube a = ( 2 * r) / sqrt( 3 ) return a # Driver code if __name__ = = '__main__' : r = 5 print ( "{0:.6}" . format (largestCube(r))) # This code is contributed # by SURENDRA_GANGWAR |
C#
// C# Program to find the biggest cube // inscribed within a sphere using System; class Solution{ // Function to find the side of the cube static float largestCube( float r) { // radius cannot be negative if (r < 0) return -1; // side of the cube float a = (2 * r) / ( float )Math.Sqrt(3); return a; } // Driver code static void Main() { float r = 5; Console.WriteLine( largestCube(r)); } } //This code is contributed by mits |
PHP
<?php // PHP Program to find the biggest // cube inscribed within a sphere // Function to find the side // of the cube function largestCube( $r ) { // radius cannot be negative if ( $r < 0) return -1; // side of the cube $a = (float)((2 * $r ) / sqrt(3)); return $a ; } // Driver code $r = 5; echo largestCube( $r ); // This code is contributed by akt_mit ?> |
Javascript
<script> // javascript Program to find the biggest cube // inscribed within a sphere // Function to find the side of the cube function largestCube(r) { // radius cannot be negative if (r < 0) return -1; // side of the cube var a = (2 * r) / Math.sqrt(3); return a; } // Driver code var r = 5; document.write( largestCube(r).toFixed(5)); // This code is contributed by 29AjayKumar </script> |
5.7735
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!