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

Pythonのgcd()関数で最大公約数を求める方法


最大公約数(GCD:Greatest Common Divisor)とは、2つの整数をどちらも余りゼロで割り切ることができる最大の数を求めるための数学的な概念です。分数の約分や暗号理論など、幅広い分野で応用されています。Pythonでは、標準ライブラリのmathモジュールに組み込みのgcd()関数が用意されており、これを使うことで最大公約数を簡単に計算できます。

gcd()関数とは

gcd()関数は、2つの整数を引数として受け取り、それらの最大公約数を整数として返します。

構文

構文: gcd(x, y)
xとyには正の整数を指定します。

gcd()の使用例

以下の例では、複数の整数のペアに対してgcd()関数を実行し、その結果を出力しています。

import math
print("75と30のGCDは", math.gcd(75, 30))
print("0と12のGCDは", math.gcd(0, 12))
print("0と0のGCDは", math.gcd(0, 0))
print("-24と-18のGCDは", math.gcd(-24, -18))

実行結果

上記のコードを実行すると、次のような結果が得られます。

75と30のGCDは 15
0と12のGCDは 12
0と0のGCDは 0
-24と-18のGCDは 6

ポイント

  • 片方が0の場合: もう一方の数の絶対値がそのまま返されます(例:gcd(0, 12) → 12)。
  • 両方が0の場合: 結果は0になります。
  • 負の数の場合: 負の整数を指定しても、絶対値に基づいた最大公約数が正の値で返されます(例:gcd(-24, -18) → 6)。
  • バージョンについて: math.gcd()はPython 3.5以降で利用可能です。また、Python 3.9以降では3つ以上の引数を渡すこともできます。

  1. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値

  2. Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

    この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print