Pythonでトス除算法を使用して、最大公約数と2つの整数の最小公倍数を見つける

Pythonでトス除算法を使用して、最大公約数と2つの整数の最小公倍数を見つける

最初に、m> nとなる2つの既知の正の整数mとnを取得します(ここでifステートメントを使用してmとnのサイズを決定し、次に3つのステートメントを使用してm> nにします)。次に例を示します。

if m < n:
    t = n
    n = m
    m = t

mをnで除算して余りrを求めます。次に、剰余rが0かどうかを判断します。rが0
でない場合は、m = n、n = rに設定し、剰余r = 0になるまで除算を続けます。得られたmが最大公約数になります。
最大公約数が得られた後、最小公倍数は、2つの既知の正の整数の積を最大公倍数で割って得られる商です。

完全な例:

import random

m = random.randint(0, 100)
n = random.randint(0, 100)
print("整数1 = ", m)
print("整数2 = ", n)
if m < n:
    t = n
    n = m
    m = t
# 辗转相除之前保留两个整数的值
a = m
b = n
while n != 0:
    r = m % n
    m = n
    n = r
print("最大公约数为:", m)
print("最小公倍数为:", int((a * b)/m))

出力結果:

整数1 =  88
整数2 =  16
最大公约数为: 8
最小公倍数为: 176

おすすめ

転載: blog.csdn.net/qq_43618698/article/details/108620289