[CodeKata]#15は、再帰的実装を用いて関数を実装する


再帰アルゴリズム


今日は再帰アルゴリズムについての問題です.
再帰は、自分を定義するときに自分を呼び出す方法です.プログラミングされた関数定義でよく使われます.
例)
const countdown = n => {
  console.log(n);
  countdown(n-1);
}

countdown(10);
countdown関数は、受信したパラメータをコンソールに出力します.
ただし、上記の関数を実行すると、10から無限の負の値になります.
したがって、再帰関数は次の手順を実行する必要があります.
いつ停止しますか?
この点を考慮すると、0の場合、戻り続けることを避けるために終了条件を追加します.
const countdown = n => {
  console.log(n);

  if (n === 0) return;

  countdown(n-1);
}

countdown(10);
再帰的な理論は上記と同じように非常に簡単である.再帰を勉強し続けたい人は、ネットで再帰問題を検索して解くこともできますし、アルゴリズムの本で再帰部分をもっと読むこともできます.

質問する


再帰実装求実関数を使用してください.
工場は1からnまでの整数の積です.

💡 に答える


パラメータが1または0の場合の
  • を先に処理し、その後
  • を処理する.
  • 1-ファクタの合計に = n * factorial(n-1)
  • を乗算

    私のコードはテスト例に合格しませんでした

    const factorial = n => {  
      if (n === 1) return 1;
      if (n === 0) return 0;
      n = n * factorial(n-1)
      return n
    }
    
    console.log(factorial(0));

    🎈 What i learned

  • なぜ!どうして一つだけ通らなかったの!!!!!😭😭😭