【Python】最小公倍数と最大公約数を取得する【簡単】

スポンサーリンク

【Python】最小公倍数と最大公約数を取得する【簡単】

pythonで最小公倍数や最大公約数を求めたいときがあると思う。

自分で関数を定義することなく、もともとあるpythonのライブラリを利用することで簡単に求めることができる。

ただし、pythonのバージョンによって使い方が異なるので注意。

Python3.4より前(最大公約数のみ、引数2つ)

最大公約数のみ求めることができる。
最小公倍数を求める関数は実装されていないらしい。

以下のようにして使う。

import fractions

print(fractions.gcd(4,6))
# 2

Python3.5以降(最大公約数のみ、引数2つ)

最大公約数のみ求めることができる。
↑と同じく最小公倍数を求める関数は実装されていないようだ。

以下のようにして使う。

import math

print(math.gcd(4,6))
# 2

Python3.9以降(最大公約数、最小公倍数、引数3つ以上も可)

Python3.9以降になると、最大公約数に加え、最小公倍数を求める関数も実装されているようだ。

しかも、引数が2つだけでなく、3つ以上にも対応している。

以下のようにして使う。

import math

# 最大公約数を求める
print(math.gcd(4,6,8))
# 2

# 最小公倍数を求める
print(math.lcm(4,6,8))
# 24

参考:https://note.nkmk.me/python-gcd-lcm/

タイトルとURLをコピーしました