1, 2, 3, ... 这些正整数被称为自然数。
示例:使用递归查找自然数之和
// program to find the sum of natural numbers using recursion
function sum(num) {
if(num > 0) {
return num + sum(num - 1);
}
else {
return num;
}
}
// take input from the user
const number = parseInt(prompt('Enter a positive integer: '));
const result = sum(number);
// display the result
console.log(`The sum is ${result}`);
输出
Enter a positive integer: 5 The sum is 15
在上面的程序中,会提示用户输入一个数字。
然后调用 sum()
函数,并将用户输入的参数(此处为5)传递进去。
- 如果数字大于0,则函数会通过将数字减1来调用自身。
- 这个过程一直持续到数字变成1。当数字达到0时,程序停止。
- 如果用户输入负数,则返回该负数,程序停止。
这里,
sum(5) returns 5 + sum(4) sum(4) returns 5 + 4 + sum(3) sum(3) returns 5 + 4 + 3 + sum(2) sum(2) returns 5 + 4 + 3 + 2 + sum(1) sum(1) returns 5 + 4 + 3 + 2 + 1 + sum(0) sum(0) returns 5 + 4 + 3 + 2 + 1 + 0
另请阅读