The gmp_perfect_square() is an inbuilt function in PHP which checks if the given GMP number(GNU Multiple Precision: For large numbers) is a perfect square or not.
Syntax:
gmp_perfect_square($num)
Parameters: The function accepts one GMP number $num. 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: The function returns true if the given number $num is a perfect square, otherwise it returns false.
Examples:
Input : $num=25 Output : true Input : $num=10 Output : false
Below programs illustrate the use of gmp_perfect_square() function:
Program 1: The program below demonstrates the working of gmp_perfect_square() function when GMP number is passed as an argument.
<?php // PHP program to check the if the // number is perfect square or not // numeric string arguments $num = gmp_init( "1001" , 2);
// checks if 9 (1001) is a perfect number or not var_dump(gmp_perfect_square( $num )). "\n" ;
$num = gmp_init( "11001" , 2);
// checks if 25 (11001) is a perfect number or not var_dump(gmp_perfect_square( $num )). "\n" ;
$num = gmp_init( "1100" , 2);
// checks if 12 (1100) is a perfect number or not var_dump(gmp_perfect_square( $num ));
?> |
Output:
bool(true) bool(true) bool(false)
Program 2: The program below demonstrates the working of gmp_perfect_square() when numeric string is passed as an argument.
<?php // PHP program to check the if the // number is perfect square or not // numeric string arguments $num = "9" ;
// checks if 9 (1001) is a perfect number or not var_dump(gmp_perfect_square( $num )). "\n" ;
$num = "25" ;
// checks if 25 (11001) is a perfect number or not var_dump(gmp_perfect_square( $num )). "\n" ;
$num = "12" ;
// checks if 12 (1100) is a perfect number or not var_dump(gmp_perfect_square( $num ));
?> |
Output:
bool(true) bool(true) bool(false)
Reference:
http://php.net/manual/en/function.gmp-perfect-square.php