function tail_recursion(x, total = 0) {
if (x === 0) {
return total;
} else {
console.log("tail_recursion(" + String(x - 1) + ", " + String(total + x) + ");")
return tail_recursion(x - 1, total + x);
}
}
console.log(tail_recursion(6));
/*
run:
"tail_recursion(5, 6);"
"tail_recursion(4, 11);"
"tail_recursion(3, 15);"
"tail_recursion(2, 18);"
"tail_recursion(1, 20);"
"tail_recursion(0, 21);"
21
*/