[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の場合の
= 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
Reference
この問題について([CodeKata]#15は、再帰的実装を用いて関数を実装する), 我々は、より多くの情報をここで見つけました https://velog.io/@april_5/CodeKata-15-재귀를-사용하여-팩토리얼factorial을-구하는-함수를-구현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol