PHP의 gmp_sqrtrem() 함수는 GMP(GNU Multiple Precision) 숫자의 정수 제곱근과 나머지를 한 번에 계산해 주는 함수입니다. 일반적인 gmp_sqrt() 함수는 제곱근만 반환하는 반면, 이 함수는 제곱근과 함께 남는 나머지까지 배열 형태로 반환한다는 점이 특징입니다.
문법
gmp_sqrtrem (val)
매개변수
val: 정수 제곱근을 구하고자 하는 GMP 숫자입니다. GMP 객체 또는 숫자 문자열을 전달할 수 있습니다.
반환값
gmp_sqrtrem() 함수는 두 개의 요소를 가진 배열을 반환합니다.
첫 번째 요소: val의 정수 부분 제곱근 (GMP 숫자)
두 번째 요소: val에서 제곱근의 제곱을 뺀 나머지 (GMP 숫자)
즉, 항상 다음 관계가 성립합니다: val = (정수 제곱근)² + 나머지
예제
다음은 gmp_sqrtrem() 함수를 활용한 예제 코드입니다:
<?php
list($sqrt, $sqrtrem) = gmp_sqrtrem("8");
echo gmp_strval($sqrt) . ", " . gmp_strval($sqrtrem) . "\n";
?>
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다:
2, 4
결과 설명
8의 실제 제곱근은 약 2.828입니다. 따라서 정수 부분인 2가 첫 번째 값으로 반환되고, 8 − 2² = 8 − 4 = 4가 나머지로 반환됩니다. 이처럼 gmp_sqrtrem() 함수는 큰 정수 연산 시 제곱근과 나머지를 별도로 계산할 필요 없이 효율적으로 처리할 수 있어 GMP 확장 모듈에서 유용하게 사용됩니다.