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.0Input: 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:
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(logn) as using inbuilt sqrt function
Auxiliary Space: O(1)