An ellipse is described as a curve on a plane that surrounds two focal points such that the sum of the distances to the two focal points is constant for every point on the curve. Ellipse has two types of axis – Major Axis and Minor Axis. The longest chord of the ellipse is the major axis. The perpendicular chord to the major axis is the minor axis which bisects the major axis at the center.
Given the lengths of minor and major axis of an ellipse, the task is to find the perimeter of the Ellipse.
Examples:
Input: a = 3, b = 2
Output: 16.0109
Input: a = 9, b = 5
Output: 45.7191
Perimeter of an ellipse is:
Perimeter : 2? * sqrt( (a2 + b2) / 2 )
Where a and b are the semi-major axis and semi-minor axis respectively.
Below is the implementation of the above approach:
// C++ program to find perimeter of an Ellipse #include <bits/stdc++.h> using namespace std;
// Function to find the perimeter of an Ellipse void Perimeter( int a, int b)
{ float perimeter;
// Compute perimeter
perimeter = 2 * 3.14 * sqrt ((a * a + b * b) / (2 * 1.0));
cout << perimeter;
} // Driver code int main()
{ int a = 3, b = 2;
// Function call
Perimeter(a, b);
return 0;
} |
// Java program to find perimeter of // an Ellipse. import java.lang.Math;
class GFG1{
// Function to find perimeter of an
// ellipse.
static void Perimeter( double a, double b)
{
double Perimeter;
// formula to find the Perimeter
// of an Ellipse.
Perimeter = ( double ) 2 * 3.14 * Math.sqrt((a * a + b * b) / ( 2 * 1.0 )) ;
// Display the result
System.out.println( "Perimeter: " + Perimeter);
}
// Driver code
public static void main (String[] args)
{
double a = 3 , b = 2 ;
Perimeter(a , b);
}
} |
# Python3 program to find perimeter # of an Ellipse from math import sqrt
# Function to find the perimeter # of an Ellipse def Perimeter(a, b):
perimeter = 0
# Compute perimeter
perimeter = ( 2 * 3.14 *
sqrt((a * a + b * b) /
( 2 * 1.0 )));
print (perimeter)
# Driver code a = 3
b = 2
# Function call Perimeter(a, b) # This code is contributed # by Mohit Kumar |
// C# program to find perimeter of // an Ellipse. using System;
class GFG1
{ // Function to find perimeter of an
// ellipse.
static void Perimeter( double a, double b)
{
double Perimeter;
// formula to find the Perimeter
// of an Ellipse.
Perimeter = ( double )2 * 3.14 *
Math.Sqrt((a * a + b * b) / (2 * 1.0));
// Display the result
Console.WriteLine( "Perimeter: " + Perimeter);
}
// Driver code
public static void Main (String[] args)
{
double a = 3, b = 2;
Perimeter(a , b);
}
} // This code is contributed by Princi Singh |
<script> // javascript program to find perimeter of // an Ellipse. // Function to find perimeter of an
// ellipse.
function Perimeter(a , b) {
var Perimeter;
// formula to find the Perimeter
// of an Ellipse.
Perimeter = 2 * 3.14 * Math.sqrt((a * a + b * b) / (2 * 1.0));
// Display the result
document.write( "Perimeter: " + Perimeter);
}
// Driver code
var a = 3, b = 2;
Perimeter(a, b);
// This code contributed by aashish1995 </script> |
16.0109
Time Complexity: O(log n)
Auxiliary Space: O(1)