PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのgmp_gcd()関数の使い方を徹底解説!最大公約数の求め方

gmp_gcd()関数とは

PHPのgmp_gcd()関数は、2つのGMP数値から最大公約数(GCD: Greatest Common Divisor)を計算するための関数です。最大公約数とは、2つの整数をどちらも割り切ることができる正の整数のうち、最も大きいものを指します。

この関数を使用するには、PHPにGMP拡張モジュールがインストールされている必要があります。GMP拡張機能を使うことで、PHPの整数型の上限を超える大きな数値でも正確な演算が可能になります。

構文

gmp_gcd(val1, val2)

パラメータ

  • val1: 最大公約数を求める対象となる1つ目のGMP数値。

  • val2: 最大公約数を求める対象となる2つ目のGMP数値。

戻り値

gmp_gcd()関数は、val1とval2の最大公約数(GCD)をGMP数値として返します。結果を画面に表示したい場合は、gmp_strval()関数を使って文字列に変換します。

使用例

以下は、PHPのgmp_gcd()関数を使って、2つの数値「30」と「45」の最大公約数を求めるサンプルコードです。

<?php
   $res = gmp_gcd("30", "45");
   echo gmp_strval($res);
?>

出力結果

このコードを実行すると、次のような出力が得られます。

15

解説

この例では、「30」と「45」の両方を割り切れる最大の整数を求めています。30の約数は「1, 2, 3, 5, 6, 10, 15, 30」、45の約数は「1, 3, 5, 9, 15, 45」であり、共通する約数の中で最も大きいものは「15」です。そのため、実行結果として15が出力されます。

ポイントまとめ

  • gmp_gcd()は大きな整数同士の最大公約数を高速に求められる。
  • 引数には数値を文字列形式で渡しても問題なく動作する。
  • 戻り値はGMP数値なので、表示時はgmp_strval()での変換を忘れずに。
  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説

    lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し