python 最小公倍数lcm と 最大公約数mgc の求め方

整数 a と b があるとき、a=a0×m、b=b0×m とかけるような最大のmを最大公約数という。

その時のa0×b0×m=a×b/mを最小公倍数といいます。

ですので、aとbが決まっていれば、定義に従うmをさがせばよいことになります。

pythonなどのfor文の練習にちょうど良いですね。

(以下は例です。ほかの方法もあります)

#2つの値を入力
a=int(input('1つ目の整数を入力>'))
b=int(input('2つ目の整数を入力>'))

#最大公約数 とは、2つの値のうち両方を割ることができる最大の値
for i in range(a):
    if a%(a-i)==0 and b%(a-i)==0:
        print('最大公約数は',a-i)
        print('最小公倍数は',int(a*b/(a-i)))
        break

a=14, b=21とした時の実行結果

1つ目の整数を入力>14
2つ目の整数を入力>21
最大公約数は 7
最小公倍数は 42

以上。

コメント

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