再帰関数(再帰)解題(1~2回)
さいきかんすう
🙋「‐‐‐再貴重関数」とは何ですか.
自分を呼ぶ関数です.複文を回すように、自分を呼び続け、特定の条件になると身を引く関数.スタックという資料構造を書きます.
1.再帰関数とスタックフレーム(重要)
自然数Nを入力した後,再帰関数を用いて1からNを出力するプログラムを記述する.
1 2 3の順序で出力するべきです.
スタックには、下から上へDFS(3)-DFS(2)-DFS(1)の順にスタックされます.後で実行できない再帰関数のconsole.log(L)コードを上から下へ実行します.だから1 2 3の順番で出力!したがって、実行したいコードを置く場所に注意してください.
2.バイナリ出力(再帰)
十進法Nを入力し、バイナリ出力に変換するプログラムを作成します.単一の再帰関数を使用して出力する必要があります.
スタックに関数を積み重ね、関数の実行が完了する前に、再帰関数による関数の再実行の構造について説明します.
🙋「‐‐‐再貴重関数」とは何ですか.
自分を呼ぶ関数です.複文を回すように、自分を呼び続け、特定の条件になると身を引く関数.スタックという資料構造を書きます.
1.再帰関数とスタックフレーム(重要)
自然数Nを入力した後,再帰関数を用いて1からNを出力するプログラムを記述する.
1 2 3の順序で出力するべきです.
function solution(n) {
function DFS(L) {
if (L === 0) return;
//L :level
else {
DFS(L - 1);
console.log(L);
}
}
DFS(n);
}
console.log(solution(3));
」重要点)再帰関数の動作原理スタックには、下から上へDFS(3)-DFS(2)-DFS(1)の順にスタックされます.後で実行できない再帰関数のconsole.log(L)コードを上から下へ実行します.だから1 2 3の順番で出力!したがって、実行したいコードを置く場所に注意してください.
2.バイナリ出力(再帰)
十進法Nを入力し、バイナリ出力に変換するプログラムを作成します.単一の再帰関数を使用して出力する必要があります.
function solution(n) {
let answer = "";
function DFS(n) {
if (n === 0) return;
DFS(parseInt(n / 2));
answer +=n % 2;
}
DFS(n);
return answer;
}
console.log(solution(11)); //1011
に感銘を与えるスタックに関数を積み重ね、関数の実行が完了する前に、再帰関数による関数の再実行の構造について説明します.
Reference
この問題について(再帰関数(再帰)解題(1~2回)), 我々は、より多くの情報をここで見つけました https://velog.io/@hoje15v/재귀함수recursion-문제풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol