[アルゴリズム]ユークリッドアーク除去法


最大公約数

  • a,b(ただし、a>b)があります.
  • aがbである場合、残りの(r)が0であることを確認する.
  • 残りの(r)0でなければaにbを入れ、bにrを入れて2回のプロセスを行う.
  • 残り(r)が0の場合、bは最大公約数である.
  • function gcd(a,b) {
      let r = a % b;
      return r ? gcd(b,r) : b;
    }

    最小公倍数


    最小公倍数*最大公倍数=0で2つの数の積ではありません
    =>最小公倍数=0以外の2つの数の積/最大公倍数
    function gcd(a,b) {
      let r = a % b;
      return r ? gcd(b,r) : b;
    }
    
    function lcm(a,b,gcd) {
      return a * b / gcd;
    }