Give a rectangle with length l & breadth b, which inscribes a rhombus, which in turn inscribes a circle. The task is to find the radius of this circle.
Examples:
Input: l = 5, b = 3 Output: 1.28624 Input: l = 6, b = 4 Output: 1.6641
Approach: From the figure, it is clear that diagonals, x & y, are equal to the length and breadth of the rectangle.
Also radius of the circle, r, inside a rhombus is = xy/2?(x^2+y^2).
So, radius of the circle in terms of l & b is = lb/2?(l^2+b^2).
Below is the implementation of the above approach:
C++
// C++ implementation of above approach#include <bits/stdc++.h>using namespace std;// Function to find the radius// of the inscribed circlefloat circleradius(float l, float b){ // the sides cannot be negative if (l < 0 || b < 0) return -1; // radius of the circle float r = (l * b) / (2 * sqrt((pow(l, 2) + pow(b, 2)))); return r;}// Driver codeint main(){ float l = 5, b = 3; cout << circleradius(l, b) << endl; return 0;} |
Java
// Java implementation of above approachimport java.io.*;class GFG { // Function to find the radius// of the inscribed circlestatic float circleradius(float l, float b){ // the sides cannot be negative if (l < 0 || b < 0) return -1; // radius of the circle float r = (float)((l * b) / (2 * Math.sqrt((Math.pow(l, 2) + Math.pow(b, 2))))); return r;} // Driver code public static void main (String[] args) { float l = 5, b = 3; System.out.print (circleradius(l, b)) ; }}// This code is contributed by inder_verma.. |
Python3
# Python 3 implementation of # above approachfrom math import sqrt# Function to find the radius# of the inscribed circledef circleradius(l, b): # the sides cannot be negative if (l < 0 or b < 0): return -1 # radius of the circle r = (l * b) / (2 * sqrt((pow(l, 2) + pow(b, 2)))); return r# Driver codeif __name__ == '__main__': l = 5 b = 3 print("{0:.5}" . format(circleradius(l, b)))# This code is contribute # by Surendra_Gagwar |
C#
// C# implementation of above approachusing System;class GFG { // Function to find the radius// of the inscribed circlestatic float circleradius(float l, float b){ // the sides cannot be negative if (l < 0 || b < 0) return -1; // radius of the circle float r = (float)((l * b) / (2 * Math.Sqrt((Math.Pow(l, 2) + Math.Pow(b, 2))))); return r;}// Driver codepublic static void Main () { float l = 5, b = 3; Console.WriteLine(circleradius(l, b));}}// This code is contributed// by inder_verma |
PHP
<?php// PHP implementation of above approach // Function to find the radius // of the inscribed circle function circleradius($l, $b) { // the sides cannot be negative if ($l < 0 || $b < 0) return -1; // radius of the circle $r = ($l * $b) / (2 * sqrt((pow($l, 2) + pow($b, 2)))); return $r; } // Driver code $l = 5;$b = 3; echo circleradius($l, $b), "\n"; // This code is contributed by ajit ?> |
Javascript
<script>// javascript implementation of above approach// Function to find the radius// of the inscribed circlefunction circleradius(l , b){ // the sides cannot be negative if (l < 0 || b < 0) return -1; // radius of the circle var r = ((l * b) / (2 * Math.sqrt((Math.pow(l, 2) + Math.pow(b, 2))))); return r;}var l = 5, b = 3;document.write(circleradius(l, b).toFixed(5)) ;// This code is contributed by shikhasingrajput </script> |
1.28624
Time complexity: O(logn) as it is using inbuilt sqrt function
Auxiliary Space: O(1) since using constant variables
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!


… [Trackback]
[…] Read More Info here to that Topic: geeksforgeeks.org/radius-of-the-biggest-possible-circle-inscribed-in-rhombus-which-in-turn-is-inscribed-in-a-rectangle/ […]