📜  使用相邻边和它们之间的角度的平行四边形的对角线长度

📅  最后修改于: 2021-04-21 22:44:34             🧑  作者: Mango

给定两个整数ab ,其中ab表示平行四边形的相邻边的长度以及它们之间的夹角为0 ,任务是找到平行四边形的对角线的长度。

例子:

方法:考虑一个平行四边形ABCD ,其边为ab ,现在在三角形ABD中的角度A处应用余弦规则,以找到对角线p的长度,类似地从三角形ABC中找到对角线q

因此,对角线由下式给出:

Diagonal (P)=\sqrt{a^2+b^2-2ab.cos(\theta)}

C++
// C++ program to find length
// Of diagonal of a parallelogram
// Using sides and angle between them.
#include 
using namespace std;
#define PI 3.147
 
// Function to return the length
// Of diagonal of a parallelogram
// using sides and angle between them.
double Length_Diagonal(int a, int b, double theta)
{
    double diagonal = sqrt((pow(a, 2) + pow(b, 2)) -
                      2 * a * b * cos(theta * (PI / 180)));
 
    return diagonal;
}
 
// Driver Code
int main()
{
 
    // Given sides
    int a = 3;
    int b = 5;
 
    // Given angle
    double theta = 45;
 
    // Function call
    double ans = Length_Diagonal(a, b, theta);
 
    // Print the final answer
    printf("%.2f", ans);
}
 
// This code is contributed by Amit Katiyar


Java
// Java program to find length
// Of diagonal of a parallelogram
// Using sides and angle between them.
class GFG{
 
// Function to return the length
// Of diagonal of a parallelogram
// using sides and angle between them.
static double Length_Diagonal(int a, int b,
                              double theta)
{
    double diagonal = Math.sqrt((Math.pow(a, 2) +
                                 Math.pow(b, 2)) -
                                 2 * a * b *
                                 Math.cos(theta *
                                 (Math.PI / 180)));
 
    return diagonal;
}
 
// Driver Code
public static void main(String[] args)
{
     
    // Given sides
    int a = 3;
    int b = 5;
 
    // Given angle
    double theta = 45;
 
    // Function call
    double ans = Length_Diagonal(a, b, theta);
 
    // Print the final answer
    System.out.printf("%.2f", ans);
}
}
 
// This code is contributed by amal kumar choubey


Python3
# Python3 Program to find length
# Of diagonal of a parallelogram
# Using sides and angle between them.
 
import math 
   
# Function to return the length
# Of diagonal of a parallelogram
# using sides and angle between them. 
def Length_Diagonal(a, b, theta): 
   
    diagonal = math.sqrt( ((a**2) + (b**2))
    - 2 * a*b * math.cos(math.radians(theta)))
     
    return diagonal 
   
# Driver Code
 
# Given Sides
a = 3
b = 5
 
# Given Angle
theta = 45
   
# Function Call 
ans = Length_Diagonal(a, b, theta) 
   
# Print the final answer
print(round(ans, 2))


C#
// C# program to find length
// Of diagonal of a parallelogram
// Using sides and angle between them.
using System;
 
class GFG{
 
// Function to return the length
// Of diagonal of a parallelogram
// using sides and angle between them.
static double Length_Diagonal(int a, int b,
                              double theta)
{
    double diagonal = Math.Sqrt((Math.Pow(a, 2) +
                                 Math.Pow(b, 2)) -
                                 2 * a * b *
                                 Math.Cos(theta *
                                (Math.PI / 180)));
 
    return diagonal;
}
 
// Driver Code
public static void Main(String[] args)
{
     
    // Given sides
    int a = 3;
    int b = 5;
 
    // Given angle
    double theta = 45;
 
    // Function call
    double ans = Length_Diagonal(a, b, theta);
 
    // Print the readonly answer
    Console.Write("{0:F2}", ans);
}
}
 
// This code is contributed by amal kumar choubey


Javascript


输出:
3.58

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