[プログラマ#JS]N個の最小公倍数


質問する


N個の最小公倍数https://programmers.co.kr/learn/courses/30/lessons/12953

解決する

  • 最小公倍数解法
    2つの数の積/2つの数の最大公約数
  • N個の場合
    前の2つの数の最小公倍数を求め、この数は次の数と最小公倍数を求めるために使用されます.
    すなわち,2,6,14であれば,最初の2つの数の最小公倍数6と次の数14と最小公倍数を求める.
    2-1. reduceを使用して最小公倍数を累計します.
  • コード#コード#

    function solution(arr) {
      // 최대공약수 구하기
      const gcd = (a, b) => (b ? gcd(b, a % b) : a);
    
      // 최소공배수 구하기
      // const lcd = (a * b) / gcd(a, b);
    
      // 여러 개의 최소공배수 구하기
      // reduce 사용 2 => 6 => 24 => 168
      return arr.reduce((a, b) => (a * b) / gcd(a, b));
    }