この教材では、最大公約数(GCD)と最小公倍数(LCM)の計算方法について学びます。特に、ユークリッドの互除法を用いたGCDの計算に焦点を当て、その後にLCMを計算する方法を説明します。
ユークリッドの互除法は、二つの整数の最大公約数を効率的に求めるためのアルゴリズムです。このアルゴリズムは次のように動作します:
以下に、ユークリッドの互除法を用いたGCDの計算のサンプルコードを示します。
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 使用例
num1 = 48
num2 = 18
result_gcd = gcd(num1, num2)
print(f"{num1} と {num2} の最大公約数は {result_gcd} です。")
gcd
関数は、二つの引数 ( a ) と ( b ) を受け取ります。while b:
の部分で、( b ) が 0 でない限りループを続けます。a, b = b, a % b
で、( a ) と ( b ) の値を更新します。最小公倍数は、二つの整数の倍数の中で最小のものです。GCDを利用してLCMを効率的に計算することができます。LCMは以下の式で求められます:
[ \text{LCM}(a, b) = \frac{|a \times b|}{\text{GCD}(a, b)} ]
以下に、GCDを利用してLCMを計算するサンプルコードを示します。
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 使用例
num1 = 48
num2 = 18
result_lcm = lcm(num1, num2)
print(f"{num1} と {num2} の最小公倍数は {result_lcm} です。")
lcm
関数は、二つの引数 ( a ) と ( b ) を受け取ります。abs(a * b)
で ( a ) と ( b ) の積の絶対値を計算します。// gcd(a, b)
で最大公約数で割り算を行い、最小公倍数を求めます。この教材では、ユークリッドの互除法を用いて最大公約数(GCD)を計算し、その結果を利用して最小公倍数(LCM)を求める方法について学びました。Pythonでの実装を通じて、アルゴリズムの理解を深めることができたと思います。今後は、これらの知識を活用して、より複雑な数理問題に挑戦してみてください。