Skip to content
Related Articles

Related Articles

Length of a Diagonal of a Parallelogram using the length of Sides and the other Diagonal
  • Last Updated : 17 Mar, 2021
GeeksforGeeks - Summer Carnival Banner

Given two integers A and B, denoting the length of a parallelogram and an integer D, denoting the length of a diagonal, the task is to find the length of another diagonal of the parallelogram.

Examples:

Input: A = 10, B = 30, D = 20
Output: 40.0

Input: A = 6, B = 8, D = 10
Output: 10.0

Approach: 
The relation between sides and diagonals of a parallelogram length of diagonal is given by the equation: 
 



Diagonal = \sqrt{2(a^2+b^2)-d^2}

 

Below is the implementation of the above approach:

 

C++




// C++ Program to implement
// the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate the length
// of the diagonal of a parallelogram
// using two sides and other diagonal
float Length_Diagonal(int a, int b, int d)
{
 
    float diagonal = sqrt(2 * ((a * a) +
                               (b * b)) - (d * d));
 
    return diagonal;
}
 
// Driver Code
int main()
{
    int A = 10;
    int B = 30;
    int D = 20;
 
    // Function Call
    float ans = Length_Diagonal(A, B, D);
 
    // Print the final answer
    printf("%0.1f", ans);
    return 0;
}
 
// This code is contributed by Rohit_ranjan

Java




// Java Program to implement
// the above approach
class GFG{
 
// Function to calculate the length
// of the diagonal of a parallelogram
// using two sides and other diagonal
static float Length_Diagonal(int a, int b, int d)
{
 
    float diagonal = (float) Math.sqrt(2 * ((a * a) +
                                 (b * b)) - (d * d));
 
    return diagonal;
}
 
// Driver Code
public static void main(String[] args)
{
    int A = 10;
    int B = 30;
    int D = 20;
 
    // Function Call
    float ans = Length_Diagonal(A, B, D);
 
    // Print the final answer
    System.out.printf("%.1f", ans);
}
}
 
// This code is contributed by Rajput-Ji

Python




# Python Program to implement
# the above approach
 
import math
 
# Function to calculate the length
# of the diagonal of a parallelogram
# using two sides and other diagonal
def Length_Diagonal(a, b, d):
 
    diagonal = math.sqrt(2 * ((a**2) \
    + (b**2)) - (d**2))
 
    return diagonal
 
 
# Driver Code
A = 10
B = 30
D = 20
 
# Function Call
ans = Length_Diagonal(A, B, D)
 
# Print the final answer
print(round(ans, 2))

C#




// C# Program to implement
// the above approach
using System;
class GFG{
 
// Function to calculate the length
// of the diagonal of a parallelogram
// using two sides and other diagonal
static float Length_Diagonal(int a, int b, int d)
{
 
    float diagonal = (float) Math.Sqrt(2 * ((a * a) +
                                 (b * b)) - (d * d));
 
    return diagonal;
}
 
// Driver Code
public static void Main(String[] args)
{
    int A = 10;
    int B = 30;
    int D = 20;
 
    // Function Call
    float ans = Length_Diagonal(A, B, D);
 
    // Print the readonly answer
    Console.Write("{0:F1}", ans);
}
}
 
// This code is contributed by Rajput-Ji

Javascript




<script>
// javascript Program to implement
// the above approach
 
// Function to calculate the length
// of the diagonal of a parallelogram
// using two sides and other diagonal
function Length_Diagonal( a, b,  d)
{
 
    let diagonal = Math.sqrt(2 * ((a * a) +
                               (b * b)) - (d * d));
 
    return diagonal;
}
 
// Driver Code
    let A = 10;
    let B = 30;
    let D = 20;
 
    // Function Call
    let ans = Length_Diagonal(A, B, D);
 
    // Print the final answer
    document.write(ans.toFixed(1));
     
// This code is contributed by gauravrajput1
</script>
Output: 
40.0

 

Time Complexity: O(1)
Auxiliary Space: O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :