Javascript
(Javascript) 재귀 함수
JJeongHyun
2023. 1. 13. 16:21
반응형
재귀함수란?
- 자기 자신을 호출하는 함수
function factorial(num) {
if (num == 1) return 1;
console.log("현재 숫자 : " + num);
return num * factorial(num - 1);
}
// factorial 함수가 다시 factorial 함수를 return
fibonacci 함수
function fibonacci(n) {
if (n == 1) return 1;
else if (n == 2) return 1;
else return fibonacci(n - 2) + fibonacci(n - 1);
}
TowerHanoi
let count = 0;
function blockMove(start, end) {
console.log(`타워${start}에
block을 타워${end}로 이동`);
}
function towerHanoi(n, start, mid, end) {
if (n === 1) {
blockMove(start, end);
count++;
} else {
towerHanoi(n - 1, start, end, mid);
blockMove(start, end);
count++;
towerHanoi(n - 1, mid, start, end);
}
}
towerHanoi(3, "A", "B", "C");
console.log(`block의 이동 횟수 : ${count}`);