Área de la mayor elipse inscrita en un rectángulo

Dado que aquí hay un rectángulo de largo l y ancho b , la tarea es encontrar el área de la elipse más grande que se puede inscribir dentro de él.
Ejemplos: 
 

Input: l = 5, b = 3
Output: 11.775

Input: 7, b = 4
Output: 21.98

Enfoque
 

  1. Sea, la longitud del eje mayor de la elipse = 2x y la longitud del eje menor de la elipse = 2y
  2. Del diagrama, es muy claro que, 
    2x = l 
    2y = b 
     
  3. Entonces, Área de la elipse = (π * x * y) = (π * l * b) / 4

A continuación se muestra la implementación del enfoque anterior:
 

C++

// C++ Program to find the biggest ellipse
// which can be inscribed within the rectangle
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the area
// of the ellipse
float ellipse(float l, float b)
{
 
    // The sides cannot be negative
    if (l < 0 || b < 0)
        return -1;
 
    // Area of the ellipse
    float x = (3.14 * l * b) / 4;
 
    return x;
}
 
// Driver code
int main()
{
    float l = 5, b = 3;
    cout << ellipse(l, b) << endl;
 
    return 0;
}

Java

// Java Program to find the biggest rectangle
// which can be inscribed within the ellipse
import java.util.*;
import java.lang.*;
import java.io.*;
 
class GFG
{
     
// Function to find the area
// of the rectangle
static float ellipse(float l, float b)
{
     
    // a and b cannot be negative
    if (l < 0 || b < 0)
        return -1;
    float x = (float)(3.14 * l * b) / 4;
 
    return x;
     
}
     
// Driver code
public static void main(String args[])
{
    float a = 5, b = 3;
    System.out.println(ellipse(a, b));
}
}
 
// This code is contributed
// by Mohit Kumar

Python3

# Python3 Program to find the biggest ellipse
# which can be inscribed within the rectangle
 
# Function to find the area
# of the ellipse
def ellipse(l, b):
 
    # The sides cannot be negative
    if l < 0 or b < 0:
        return -1
 
    # Area of the ellipse
    x = (3.14 * l * b) / 4
 
    return x
 
# Driver code
if __name__ == "__main__":
 
    l, b = 5, 3
    print(ellipse(l, b))
 
# This code is contributed
# by Rituraj Jain

C#

// C# Program to find the biggest rectangle
// which can be inscribed within the ellipse
using System;
 
class GFG
{
     
// Function to find the area
// of the rectangle
static float ellipse(float l, float b)
{
     
    // a and b cannot be negative
    if (l < 0 || b < 0)
        return -1;
    float x = (float)(3.14 * l * b) / 4;
 
    return x;
     
}
     
// Driver code
public static void Main()
{
    float a = 5, b = 3;
    Console.WriteLine(ellipse(a, b));
}
}
 
// This code is contributed
// by Code_Mech.

PHP

<?php
// PHP Program to find the biggest ellipse
// which can be inscribed within the rectangle
 
// Function to find the area
// of the ellipse
function ellipse($l, $b)
{
 
    // The sides cannot be negative
    if ($l < 0 || $b < 0)
        return -1;
 
    // Area of the ellipse
    $x = (3.14 * $l * $b) / 4;
 
    return $x;
}
 
// Driver code
$l = 5; $b = 3;
echo ellipse($l, $b) . "\n";
 
// This code is contributed
// by Akanksha Rai
?>

Javascript

<script>
 
// javascript Program to find the biggest rectangle
// which can be inscribed within the ellipse
  
 
// Function to find the area
// of the rectangle
function ellipse(l , b)
{
     
    // a and b cannot be negative
    if (l < 0 || b < 0)
        return -1;
    var x = (3.14 * l * b) / 4;
 
    return x;
     
}
     
// Driver code
 
var a = 5, b = 3;
document.write(ellipse(a, b));
 
 
// This code is contributed by Amit Katiyar
 
</script>
Producción: 

11.775

 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *