Math 04最大公約数と最小公倍数(2609)


Math 04最大公約数と最小公倍数(2609)


質問する


プログラムを作成し、2つの自然数を入力し、最大公約数と最小公約数を出力してください.

入力


最初の行は2つの自然数を与えます.この2つは10000以下の自然数で、真ん中にスペースがあります.

しゅつりょく


第1行は所定の2つの数の最大公倍数を出力し、第2行は所定の2つの数の最小公倍数を出力する.

に答える


3つの方法があります
  • (タイムアウト)

    -2.mathライブラリgcm関数と(最大公倍数)&lcm関数(最小公倍数)を使用
  • ユークリッド木材法
    :ユークリッドアーク除去法はx,yの最大公約数がy,rの最大公約数に等しい原理を利用する
    (x%y = r)
    xとyの最大公約数=yとrの最大公約数

  • コード#コード#

    import sys
    sys.stdin = open("input.txt","rt")
    import math
    
    def input():
        return sys.stdin.readline().rstrip()
    
    a, b = map(int,input().split())
    # 최대 공약수 구하기
    print(math.gcd(a,b))
    # 최소 공배수 구하기
    print(math.lcm(a,b))

    学識


    marhライブラリには最大公約数と最大公約数を求める関数があります.

    コメント