正整数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
let number = parseInt(prompt('Enter a positive integer: '));
let result = sum(number);
// display the result
console.log(`The sum is ${result}`);
输出
Enter a positive integer: 5
The sum is 15
在上面的程序中,提示用户输入数字。
然后,通过传递用户输入的参数(此处为5 )来调用sum()
函数 。
- 如果数字大于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