Menu
CoddyTech

Least Common Multiple

2つの正の整数 a と b が与えられます。最小公倍数、つまり a と b の両方で割り切れる最小の正の整数を返してください。

関数

lcm(a: integer, b: integer) → integer
ainteger
最初の正の整数
binteger
2番目の正の整数
戻り値integer
a と b の両方の倍数である最小の正の整数

制約

  • 1 ≤ a ≤ 106
  • 1 ≤ b ≤ 106
  • 答えは符号付き32ビット整数に収まります:lcm(a, b) ≤ 231-1。積 a × b は収まらない場合があります。

例

入力
a = 4b = 6
出力
12
説明
6の倍数は6、12、18から始まり、4の倍数は4、8、12から始まります。両方のリストにある最初の数は12です。
challenge icon

発展問題

除算も剰余も一切使わず、引き算と半分にすることだけで最大公約数を求められますか?

コードをリセット
def lcm(a, b):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

a = 4
b = 6

期待される出力

12