In this post, we will solve **Area Under Curves and Volume of Revolving a Curve HackerRank Solution**. This problem** (Area Under Curves and Volume of Revolving a Curve)** is a part of **HackerRank Functional Programming** language.

Contents

**Task**

**Definite Integrals via Numerical Methods**

This relates to definite integration via numerical methods.

Consider the algebraic expression given by:

**(a1) x^{b1} + (a2)x^{b2} + (a3)x^{b3} + . . . . . + (an)x^{bn}**

For the purpose of numerical computation, the area under the curveÂ ** y = f(x)**Â between the limitsÂ

*Â andÂ*

**a***Â can be computed by theÂ Limit Definition of a Definite Integral.*

**b**Here is some background about **areas and volume computation**.

Using equal subintervals of lengthÂ **= 0.001**, you need to:

- Evaluate the area bounded by a given polynomial function of the kind described above, between the given limits ofÂ
Â andÂ**L**.**R** - Evaluate the volume of the solid obtained by revolving this polynomial curve around theÂ
-axis.**x**

A relative error margin ofÂ **0.01**Â will be tolerated.

**Input Format**

The first line containsÂ * N*Â integers separated by spaces, which are the values ofÂ

**a1, a2, . . . , a**.

*N*The second line containsÂ

*Â integers separated by spaces, which are the values ofÂ*

**N****b1, b2, . . . , b**.

*N*The third line contains two space separated integers,Â

*Â andÂ*

**L***, the lower and upper range limits in which the integration needs to be performed, respectively.*

**R****Constraints**

**-1000 <=***a*<= 1000**-20 <=***b*<= 20**1 <=***L*<=*R*<= 20

**Output Format**

The first line should contain the area between the curve and theÂ * x*-axis, bound between the specified limits.

The second line should contain the volume of the solid obtained by rotating the curve around theÂ

*-axis, between the specified limits.*

**x****Sample Input**

```
1 2 3 4 5
6 7 8 9 10
1 4
```

**Explanation**

The algebraic expression represented by:

**(1) x^{6} + (2)x^{7} + (3)x^{8} + (4)x^{9} + (5)x^{10}**

We need to find the area of the curve enclosed under this curve, between the limits**Â x = 1**Â andÂ

**4**. We also need to find the volume of the solid formed by revolving this curve around theÂ

*-axis between the limits*

**x****Â**Â andÂ

*x*= 1**4**.

**Sample Output**

```
2435300.3
26172951168940.8
```

**Scoring**

All test cases are weighted equally. You need to clear all the tests in a test case.

**Solution – Area Under Curves and Volume of Revolving a Curve – HackerRank Solution**

**Scala**

val step = 0.001 def area(coefficients: List[Int], powers: List[Int], x: Double): Double = { val r = f(coefficients, powers, x) r * r * math.Pi } // This function will be used while invoking "Summation" to compute // The area under the curve. def f(coefficients: List[Int], powers: List[Int], x: Double): Double = { coefficients.zip(powers).map { case (c, p) => c * math.pow(x, p) }.sum } def summation(func: (List[Int], List[Int], Double) => Double, upperLimit: Int, lowerLimit: Int, coefficients: List[Int], powers: List[Int]): Double = { (BigDecimal(lowerLimit) to upperLimit by step).map(x => func(coefficients, powers, x.toDouble)).sum * step } // readLine() is deprecated in Scala 13, but it is called by HackerRank's predefined code. // So it is added to fix the issue. def readLine(): String = scala.io.StdIn.readLine()

**Note:** This problem **(Area Under Curves and Volume of Revolving a Curves)** is generated by **HackerRank** but the solution is provided by **CodingBroz**. This tutorial is only for **Educational** and **Learning** purpose.