# Mathematical Library Methods

## Choose the correct answer

#### Question 1

Which of the following is false to find square of a number?

1. Math.pow(a,2)
2. a*a
3. Math.sqrt(a,2) ✓
4. All of the above

#### Question 2

What type of value is returned by Math.sqrt( )?

1. int
2. float
3. double ✓
4. All

#### Question 3

Which of the following syntax is true to find the square root of a number?

1. sqrt(a)
2. Math.sqrt(a) ✓
3. Squareroot(a)
4. None

#### Question 4

Name the class that is used for different Mathematical functions.

1. Java.Math ✓
2. Java.Power
3. Java.Sqrt
4. None

#### Question 5

Give the output of the Math.abs(x); when x = -9.99

1. -9.99
2. 9.99 ✓
3. 0.99
4. None

#### Question 6

Give the output of Math.sqrt(x); when x = 9.0

1. 3
2. 3.0 ✓
3. 3.00
4. all

## Predict the output

#### Question 1

`System.out.println(Math.sqrt(10.24));`
```3.2
```
##### Explanation

Math.sqrt method gives the square root of a positive number. Square root of 10.24 is 3.2 so it is the output.

#### Question 2

`System.out.println(Math.rint(-99.4));`
```-99.0
```
##### Explanation

Math.rint method rounds off its argument to the nearest mathematical integer and returns its value as a double type. The nearest integer to -99.4 is -99.0 so that is the output. Math.rint method behaves in a particular way at the mid-point i.e. when the decimal part of the argument is 0.5. In such cases, the result is the integer value that is even. Let's understand this with an example. Math.rint(1.5) and Math.rint(2.5) will both return 2.0. In the case of 1.5, both 1.0 and 2.0 are equally close to 1.5. Math.rint choses the integer that is even so 2.0 is returned. In the case of 2.5, both 2.0 and 3.0 are equally close to 2.5. Math.rint again choses the integer that is even so 2.0 is returned.

#### Question 3

`System.out.println(Math.cbrt(42.875));`
```3.5
```
##### Explanation

Math.cbrt method returns the cube root of its argument as a double value. Cube root of 42.875 is 3.5 so it is the output.

#### Question 4

`System.out.println(Math.min(-25.5, -12.5));`
```-25.5
```
##### Explanation

Math.min method returns the smaller of its 2 arguments. As -25.5 is smaller than -12.5 so it is the output.

#### Question 5

`System.out.println(Math.ceil(-0.95));`
```-0.0
```
##### Explanation

Math.ceil method returns the smallest double value that is greater than or equal to the argument and is equal to a mathematical integer. If the argument value is less than zero but greater than -1.0, then the result is negative zero which is the case in this question.

#### Question 6

`System.out.println(Math.round(-18.51));`
```-19
```
##### Explanation

Math.round method rounds off its argument to the nearest mathematical integer and returns its value as an int or long type. At the mid-point i.e. when the decimal part of the argument is 0.5, Math.round method rounds up to the higher integer. In this case, the nearest integer to -18.51 is -19 so it is the output.

#### Question 7

`System.out.println(Math.max(-77.66, -87.45));`
##### Output
```-77.66
```
##### Explanation

Math.max method returns the greater of its 2 arguments. As -77.66 is greater than -87.45 so it is the output.

#### Question 8

`System.out.println(Math.floor(-0.88));`
```-1.0
```
##### Explanation

Math.floor method returns the largest double value that is less than or equal to the argument and is equal to a mathematical integer. As -1.0 is the largest mathematical integer less than -0.88 so it is the output.

#### Question 9

`System.out.println(Math.rint(98.5));`
```98.0
```
##### Explanation

Math.rint method rounds off its argument to the nearest mathematical integer and returns its value as a double type. This method behaves in a particular way at the mid-point i.e. when the decimal part of the argument is 0.5. In such cases, the result is the integer value that is even. Let's understand this with an example. Math.rint(97.5) and Math.rint(98.5) will both return 98.0. In the case of 97.5, both 97.0 and 98.0 are equally close to 97.5. Math.rint choses the integer that is even so 98.0 is returned. In the case of 98.5, both 98.0 and 99.0 are equally close to 98.5. Math.rint again choses the integer that is even so 98.0 is returned.

#### Question 10

`System.out.println(Math.ceil(65.5));`
```66.0
```
##### Explanation

Math.ceil method returns the smallest double value that is greater than or equal to the argument and is equal to a mathematical integer. Here 66.0 is the smallest mathematical integer greater than 65.5 so it is the output.

## Write down the syntax for the following functions

#### Question 1

To find the smaller between two numbers p and q

Math.min(p, q)

#### Question 2

To find the absolute value of a number m

Math.abs(m)

#### Question 3

To find the exponent of a number k

Math.exp(k)

#### Question 4

To find the square root of a number d

Math.sqrt(d)

#### Question 5

To find the rounded-off of a number b

Math.round(b)

Math.sqrt( );

double

Math.rint( );

double

Math.ceil( );

double

Math.round( );

int or long

Math.floor( );

double

Math.log( )

double

## Explain the following functions

#### Question 1

Math.random( )

Returns a positive double value, greater than or equal to 0.0 and less than 1.0.

#### Question 2

Math.max( )

Returns the greater of its 2 arguments. Its return type is same as the type of its arguments.

#### Question 3

Math.cbrt( )

Returns the cube root of its argument as a double value.

#### Question 4

Math.abs( )

Returns the absolute value of its argument. Its return type is same as the type of its arguments.

#### Question 5

Math.log( )

Returns the natural logarithm of its argument. Both return type and argument is of double data type.

## Distinguish between them with suitable examples

#### Question 1

Math.ceil( ) and Math.floor( )

Math.ceil( )Math.floor( )
Returns the smallest double value that is greater than or equal to the argument and is equal to a mathematical integerReturns the largest double value that is less than or equal to the argument and is equal to a mathematical integer.
double a = Math.ceil(65.5);
In this example, a will be assigned the value of 66.0 as it is the smallest integer greater than 65.5.
double b = Math.floor(65.5);
In this example, b will be assigned the value of 65.0 as it is the largest integer smaller than 65.5.

#### Question 2

Math.rint( ) and Math.round( )

Math.rint( )Math.round( )
Rounds off its argument to the nearest mathematical integer and returns its value as a double type.Rounds off its argument to the nearest mathematical integer and returns its value as an int or long type. If argument is float, return type is int, if argument is double, return type is long.
At mid-point, it returns the integer that is evenAt mid-point, it returns the higher integer.
double a = Math.rint(1.5);
double b =Math.rint(2.5);
Both, a and b will have a value of 2.0
long a = Math.round(1.5);
long b = Math.round(2.5);
a will have a value of 2 and b will have a value of 3

## Solutions to Unsolved Java Programs

#### Question 1

Write a program in Java to input three numbers and display the greatest and the smallest of the two numbers.
Hint: Use Math.min( ) and Math.max( )
Sample Input: 87, 65, 34
Sample Output: Greatest Number 87
Smallest number 34

```import java.util.Scanner;

public class KboatGreatestNumber
{
public static void main(String args[]) {

Scanner in = new Scanner(System.in);

System.out.print("Enter First Number: ");
int a = in.nextInt();
System.out.print("Enter Second Number: ");
int b = in.nextInt();
System.out.print("Enter Third Number: ");
int c = in.nextInt();

int g = Math.max(a, b);
g = Math.max(g, c);

int s = Math.min(a, b);
s = Math.min(s, c);

System.out.println("Greatest Number = " + g);
System.out.println("Smallest Number = " + s);
}
}```
##### Output #### Question 2

Write a program in Java to calculate and display the hypotenuse of a Right-Angled Triangle by taking perpendicular and base as inputs.
Hint: h = √p2 + b2

```import java.util.Scanner;

public class KboatHypotenuse
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("Enter Perpendicular: ");
double p = in.nextDouble();
System.out.print("Enter Base: ");
double b = in.nextDouble();

double h = Math.sqrt(Math.pow(p, 2) + Math.pow(b, 2));

System.out.println("Hypotenuse = " + h);
}
}```
##### Output #### Question 3

Write a program to input a number and evaluate the results based on the number entered by the user:
(a) Natural logarithm of the number
(b) Absolute value of the number
(c) Square root of the number
(d) Cube of the number
(e) Random numbers between 0 (zero) and 1 (one).

```import java.util.Scanner;

public class KboatMathMethods
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("Enter Number: ");
double n = in.nextDouble();

System.out.println("Natural logarithm = " + Math.log(n));
System.out.println("Absolute value = " + Math.abs(n));
System.out.println("Square root = " + Math.sqrt(n));
System.out.println("Cube root= " + Math.cbrt(n));
System.out.println("Random number = " + Math.random());
}
}```
##### Output #### Question 4

In an examination, you have appeared for three subjects i.e. Physics, Chemistry and Biology. Write a program in Java to calculate the average mark obtained and finally display the marks in rounded-off form.
Take Physics, Chemistry. and Biology marks as inputs.

```import java.util.Scanner;

public class KboatAvgMarks
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.println("Enter Marks");
System.out.print("Physics: ");
int p = in.nextInt();
System.out.print("Chemistry: ");
int c = in.nextInt();
System.out.print("Biology: ");
int b = in.nextInt();

double avg = (p + c + b) / 3.0;
long roundAvg = Math.round(avg);

System.out.println("Rounded Off Avg Marks = " + roundAvg);
}
}```
##### Output #### Question 5

You want to calculate the radius of a circle by using the formula:
Area = (22/7) * r2; where r = radius of a circle
Hence the radius can be calculated as:
r = √((7 * area) / 22)
Write a program in Java to calculate and display the radius of a circle by taking area as an input.

```import java.util.Scanner; 