โจทย์
คำนวณ Factorial แบบ Recursive
ตัวอย่างโค้ด
const num = 9;
const recursiceFactorial = (num, res = 1) => {
if(num){
return recursiceFactorial(num-1, res * num);
};
return res;
};
console.log(recursiceFactorial(num));
console.log(recursiceFactorial(6));
console.log(recursiceFactorial(10));
console.log(recursiceFactorial(5));
console.log(recursiceFactorial(13));
ผลลัพธ์
362880 720 3628800 120 6227020800
คำอธิบาย
Tail recursion pattern: recursiceFactorial(n, acc)
Base case: num=0 → return accumulator
Recursive case: เรียกตัวเองด้วย n-1 และ acc*n
9! = 362880, 6! = 720, 10! = 3628800, 5! = 120, 13! = 6227020800