Radius of the biggest possible circle inscribed in rhombus which in turn is inscribed in a rectangle

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++

 `#include ` `using` `namespace` `std;` `float` `circleradius(` `float` `l, ` `float` `b)` `{` `if` `(l < 0 || b < 0)` `return` `-1;` `float` `r = (l * b) / (2 * ` `sqrt` `((` `pow` `(l, 2) + ` `pow` `(b, 2))));` `return` `r;` `}` `int` `main()` `{` `float` `l = 5, b = 3;` `cout << circleradius(l, b) << endl;` `return` `0;` `}`

## Java

 `import` `java.io.*;` `class` `GFG {` `static` `float` `circleradius(` `float` `l, ` `float` `b)` `{` `if` `(l < ` `0` `|| b < ` `0` `)` `return` `-` `1` `;` `float` `r = (` `float` `)((l * b) / (` `2` `* Math.sqrt((Math.pow(l, ` `2` `) + Math.pow(b, ` `2` `)))));` `return` `r;` `}` `public` `static` `void` `main (String[] args) {` `float` `l = ` `5` `, b = ` `3` `;` `System.out.print (circleradius(l, b)) ;` `}` `}`

## Python3

 `from` `math ` `import` `sqrt` `def` `circleradius(l, b):` `if` `(l < ` `0` `or` `b < ` `0` `):` `return` `-` `1` `r ` `=` `(l ` `*` `b) ` `/` `(` `2` `*` `sqrt((` `pow` `(l, ` `2` `) ` `+` `pow` `(b, ` `2` `))));` `return` `r` `if` `__name__ ` `=` `=` `'__main__'` `:` `l ` `=` `5` `b ` `=` `3` `print` `(` `"{0:.5}"` `. ` `format` `(circleradius(l, b)))`

## C#

 `using` `System;` `class` `GFG` `{` `static` `float` `circleradius(` `float` `l,` `float` `b)` `{` `if` `(l < 0 || b < 0)` `return` `-1;` `float` `r = (` `float` `)((l * b) /` `(2 * Math.Sqrt((Math.Pow(l, 2) +` `Math.Pow(b, 2)))));` `return` `r;` `}` `public` `static` `void` `Main ()` `{` `float` `l = 5, b = 3;` `Console.WriteLine(circleradius(l, b));` `}` `}`

## PHP

 ``

## Javascript

 ``

Time complexity: O(logn) as it is using inbuilt sqrt function

Auxiliary Space: O(1) since using constant variables

Last Updated :
27 Aug, 2022

Like Article

Save Article

You are watching: Radius of the biggest possible circle inscribed in rhombus which in turn is inscribed in a rectangle. Info created by GBee English Center selection and synthesis along with other related topics.