📜  查找椭圆偏心度的程序

📅  最后修改于: 2021-04-18 02:35:15             🧑  作者: Mango

给定两个正整数AB ,代表等式椭圆的半长轴和半短轴的长度\frac{x^2}{A^2} + \frac{y^2}{B^2} = 1   ,任务是找到给定椭圆的偏心率。

例子:

方法:可以根据以下公式来解决给定问题,以计算椭圆的偏心度,该椭圆度由下式给出:

因此,打印\sqrt(1 - \frac{B^2}{A^2})   如椭圆的偏心率。

下面是上述方法的实现:

C++
// C++ program for the above approach
 
#include 
using namespace std;
 
// Function to find the
// eccentricity of ellipse
void findEccentricity(double A,
                      double B)
{
    // Store the squares of length of
    // semi-major and semi-minor axis
    double semiMajor = A * A;
    double semiMinor = B * B;
 
    // Calculate the eccentricity
    double ans = sqrt(1 - semiMinor / semiMajor);
 
    // Print the result
    cout << fixed << setprecision(2)
         << ans;
}
 
// Driver Code
int main()
{
    double A = 12, B = 9;
    findEccentricity(A, B);
 
    return 0;
}


Python3
# Python3 program for the above approach
import math
 
# Function to find the
# eccentricity of ellipse
def findEccentricity(A, B):
     
    # Store the squares of length of
    # semi-major and semi-minor axis
    semiMajor = A * A
    semiMinor = B * B
 
    # Calculate the eccentricity
    ans = math.sqrt(1 - semiMinor / semiMajor)
 
    # Print the result
    print('%.2f' % ans)
 
# Driver Code
if __name__ == "__main__":
 
    A = 12
    B = 9
     
    findEccentricity(A, B)
     
# This code is contributed by ukasp


输出:
0.66

时间复杂度: O(1)
辅助空间: O(1)