The gmp_sqrtrem() is a built-in function in PHP which is used to calculate the square root of a GMP number (GNU Multiple Precision : For large numbers) with remainder. This function also returns only the integral part in the square root of the GMP number as the gmp_sqrt() function. The remainder is basically the difference between the GMP number and the square of the square root value as returned by this function.

**Syntax:**

gmp_sqrtrem ( $num )

**Parameters:** This function accepts a GMP number *$num* as a mandatory parameter as shown in the above syntax whose square root we want to calculate. This parameter can be a GMP object in PHP version 5.6 and later, or we are also allowed to pass a numeric string provided that it is possible to convert that string to a number.

**Return Value:** This function returns an array of two GMP numbers. The first element in this array is the integral part in the square root of the GMP number passed to the function as parameter and the second element is the remainder. The remainder is calculated as the difference between the GMP number and the square of first element of this array.

Examples:

Input : "9" Output : 3 Input : "24" Output : 4

Below programs illustrate the gmp_sqrtrem() function in PHP :

**Program 1: **Program to calculate the square root with remainder of a GMP number when numeric strings as GMP numbers are passed as arguments.

`<?php ` `// PHP program to calculate the square root ` `// of a GMP number ` ` ` `// passing numeric strings as GMP numbers ` `$num` `= gmp_init(` `"24"` `); ` ` ` `// calculates the square root of a GMP number ` `// with remainder ` `list(` `$squareRoot` `, ` `$rem` `) = gmp_sqrtrem(` `$num` `); ` ` ` `echo` `$squareRoot` `.` `" "` `.` `$rem` `; ` ` ` `?> ` |

Output:

4 8

**Program 2: **Program to calculate the square root with remainder of a GMP number when GMP numbers are passed as arguments.

`<?php ` `// PHP program to calculate the square root ` `// of a GMP number ` ` ` `// creating GMP numbers using gmp_init() ` `$num` `= gmp_init(24, 10); ` ` ` `// calculates the square root of a GMP number ` `// with remainder ` `list(` `$squareRoot` `, ` `$rem` `) = gmp_sqrtrem(` `$num` `); ` ` ` `echo` `$squareRoot` `.` `" "` `.` `$rem` `; ` ` ` `?> ` |

Output:

4 8

**Reference: **

http://php.net/manual/en/function.gmp-sqrtrem.php

## leave a comment

## 0 Comments