Lv.1小数を作成


🤖質問する


👍 2022年1月23日
<script>
  const getCombinations = (arr, n) => {
      const results = [];
      if (n === 1) return arr.map((v) => [v]);
      arr.forEach((fix, i, origin) => {
          const rest = origin.slice(i + 1);
          const combinations = getCombinations(rest, n-1);
          const attached = combinations.map((v) => [fix, ...v])
      results.push(...attached);
      });
      return results;
  }

  const decimal = (num) => {
      for (let i=3; i<parseInt(num/2); i++) {
          if (num % i === 0) return false
      }
      return true;
  }

  function solution(nums) {
      let answer = 0;
      const arrays = getCombinations(nums, 3);
      arrays.forEach((arr,i) => {
          let sumNumber = arr.reduce((acc, val) => {return acc+val}, 0);
          if (sumNumber % 2 !== 0) {
              decimal(sumNumber) ? answer++ : {}
          };  
      })
      return answer;
  }
</script>
毎回できなかった組み合わせが、今回やっと分かったようです.
よく复习するので完全に消化...