Find the volume of rectangular right wedge
Last Updated :
07 Jun, 2022
A right wedge is a wedge with parallel side triangles. It have two side bases a and b, top edges e and height h. The task is to find the volume of the given rectangular right wedges.
Examples:
Input: a = 2, b = 5, e = 5, h = 6
Output: Volume = 45.0
Input: a = 5, b = 4, e = 4, h = 6
Output: Volume = 56.0
Approach:
Va is the volume of triangular pyramid i.e. Va = (1 / 3) * area of triangle * (e – a)
Area of triangle = (1 / 2) * b * h
i.e Va = ( 1 / 3 ) * (( 1 / 2 ) * ( b * h * (e – a)))
Vb is a volume of triangular prism i.e. Vb = area of cross section * length(side)
i.e. Vb = (1 / 2) * (b * h * a)
Total Volume = Va + Vb
= (1 / 3) * ((1 / 2) * (b * h * ( e – a ))) + (1 / 2) * (b * h * a)
= (1 / 6) * (b * h * (e – a)) + (1 / 2) * (b * h * a)
= ((b * h) * (e – a) + 3 * b * h * a) / 6
= (b * h * e – b * h * a + 3 * b * h * a) / 6
= (b * h * e + 2 * b * h * a) / 6
= (b * h / 6) * (2 * a + e)
Volume of the rectangular right wedge = (b * h / 6) * (2 * a + e) where a and b are the side bases, e is the top edge and h is the height of the rectangular right wedge.
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
double volumeRec( double a, double b, double e, double h)
{
return (((b * h )/ 6)*(2 * a + e));
}
int main()
{
double a = 2;
double b = 5;
double e = 5;
double h = 6;
printf ( "Volume = %.1f" ,volumeRec(a, b, e, h));
return 0;
}
|
Java
class GFG {
static double volumeRec( double a, double b, double e, double h)
{
return (((b * h) / 6 ) * ( 2 * a + e));
}
public static void main(String[] args) throws java.lang.Exception
{
double a = 2 , b = 5 , e = 5 , h = 6 ;
System.out.print( "Volume = " + volumeRec(a, b, e, h));
}
}
|
Python3
def volumeRec(a, b, e, h) :
return (((b * h) / 6 ) * ( 2 * a + e));
if __name__ = = "__main__" :
a = 2 ; b = 5 ; e = 5 ; h = 6 ;
print ( "Volume = " ,volumeRec(a, b, e, h));
|
C#
using System;
class GFG
{
static double volumeRec( double a, double b,
double e, double h)
{
return (((b * h) / 6) * (2 * a + e));
}
public static void Main()
{
double a = 2, b = 5, e = 5, h = 6;
Console.WriteLine( "Volume = " + volumeRec(a, b, e, h));
}
}
|
Javascript
<script>
function volumeRec( a, b, e, h)
{
return (((b * h )/ 6)*(2 * a + e));
}
let a = 2;
let b = 5;
let e = 5;
let h = 6;
document.write( "Volume = " +volumeRec(a, b, e, h).toFixed(1));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...