현재 위치: > 최신 기사 목록> PHP 및 GMP 확장을 사용하여 가장 큰 공통 구분 및 최소 공통 다중 수를 계산하는 방법

PHP 및 GMP 확장을 사용하여 가장 큰 공통 구분 및 최소 공통 다중 수를 계산하는 방법

M66 2025-06-18

소개:

프로그래밍에서 많은 숫자 계산을 처리하는 것이 일반적인 요구 사항입니다. 그러나 전통적인 정수 유형의 제한된 표현 범위로 인해 많은 수를 다룰 때 오버플로 문제가 발생하기 쉽습니다. PHP의 GMP (GNU 다중 정밀도) 확장은 큰 정수를 처리 할 수있는 솔루션을 제공합니다. 이 튜토리얼에서는 GMP 확장을 사용하여 많은 수의 GCD (Greatest Common Divisor) 및 최소 공통 다중 (LCM)를 계산하는 방법을 보여주고 코드 예제로 이러한 계산을 쉽게 구현할 수 있도록 도와줍니다.

1. GMP 확장을 설치하십시오

GMP 확장을 사용하려면 먼저 PHP가 GMP 확장을 설치했는지 확인하십시오. phpinfo () 함수를 실행하여 PHP에 GMP가 설치되어 있는지 확인할 수 있습니다. 설치되지 않은 경우 아래 단계를 따라갈 수 있습니다.

  1. 시스템에 적합한 GMP 확장을 다운로드하십시오.
  2. 다운로드 된 파일을 압축 해제하십시오.
  3. 압축되지 않은 파일을 PHP 소스 코드 확장 디렉토리의 GMP 디렉토리에 복사하십시오.
  4. GMP 확장을 컴파일하고 설치하려면 PHP 소스 루트 디렉토리에서 다음 명령을 실행하십시오.
  5.  $ ./configure-with-gmp
     $ make
     $ sudo는 설치합니다
  6. php.ini 구성 파일에 추가 :
     Extension = gmp.so
  7. PHP를 다시 시작합니다.

2. 가장 큰 공통 구분을 계산하십시오

GCD (Greatest Common Divisor)는 두 개 이상의 정수의 공통 구분 수를 가장 많이 나타냅니다. GMP 확장을 사용하여 가장 큰 공통 디바이저를 계산하는 방법은 다음과 같습니다.

함수 계산 gcd ($ a, $ b) {
    $ a = gmp_init ($ a);
    $ b = gmp_init ($ b);
    return gmp_strval (gmp_gcd ($ a, $ b));
}
$ a = "123456789012345678901234567890";
$ b = "987654321098765432109876543210";
$ gcd = 계산 GCD ($ a, $ b);
Echo "가장 큰 일반적인 구분 :". $ GCD;

코드 설명 :

  1. GMP_INIT () 함수를 사용하여 입력 번호를 유형 GMP의 정수로 변환합니다.
  2. GMP_GCD () 함수를 사용하여 가장 큰 공통 디바이저를 계산하십시오.
  3. gmp_strval () 함수를 사용하여 계산 결과를 문자열 유형으로 변환하십시오.
  4. 가장 큰 일반적인 제수를 출력하십시오.

3. 최소 공통 배수를 계산하십시오

가장 일반적인 다중 (LCM)는 둘 이상의 정수로 나눌 수있는 가장 작은 양의 정수를 나타냅니다. 다음 코드 예제를 사용하면 두 개의 큰 숫자의 최소 공통 배수를 계산할 수 있습니다.

함수 calculatelcm ($ a, $ b) {
    $ a = gmp_init ($ a);
    $ b = gmp_init ($ b);
    $ gcd = gmp_gcd ($ a, $ b);
    return gmp_strval (gmp_mul (gmp_div ($ a, $ gcd), $ b);
}
$ a = "123456789012345678901234567890";
$ b = "987654321098765432109876543210";
$ lcm = calculatelcm ($ a, $ b);
에코 "최소 공통 다중 :". $ lcm;

코드 설명 :

  1. GMP_INIT () 함수를 사용하여 입력 번호를 유형 GMP의 정수로 변환합니다.
  2. GMP_GCD () 함수를 사용하여 가장 큰 공통 디바이저를 계산하십시오.
  3. gmp_div () 함수를 사용하여 두 숫자의 몫을 계산하십시오.
  4. GMP_MUL () 함수를 사용하여 두 숫자의 곱을 계산하십시오.
  5. gmp_strval () 함수를 사용하여 계산 결과를 문자열 유형으로 변환하십시오.
  6. 최소 공통 배수를 출력하십시오.

결론적으로 :

GMP 확장을 사용하면 가장 큰 공통 디바이저와 가장 일반적인 다중량을 쉽게 계산할 수 있습니다. 입력 및 출력 형식의 변환에주의를 기울이면 GMP 확장은 모든 크기의 정수를 처리하는 데 도움이되고 전통적인 정수 유형 오버 플로우의 문제를 피할 수 있습니다. 이 튜토리얼이 많은 수의 성능을보다 효율적으로 수행하는 데 도움이되기를 바랍니다.