[BOJ]1934号最小公倍数(Python)


質問する



解決策


方法1)AxBをA,Bの最大公約数で除算する,すなわち最小公倍数とする.
方法2)A,Bでより大きな倍数を行い,Aに分けるとその数は最小公倍数となる.

実装


方法1-1


python mathモジュールを使用します.
from math import gcd

def cal(a, b):
    print((a*b) // gcd(a,b))

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)

方法1-2


gcd関数を実装して使用します.
def cal(a, b):
    A, B = a, b
    while a%b != 0:
        a, b = b, a%b

    print((A*B) // b)

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)

方法。

def cal(a, b):
    for i in range(1, a+1):
        if (b*i)%a == 0:
            print(b*i)
            break

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)