用js写一个0~100的递归累加函数
时间: 2023-04-04 07:03:57 浏览: 158
好的,我可以回答这个问题。以下是一个用 JavaScript 编写的递归累加函数:
function recursiveSum(num) {
if (num === 0) {
return 0;
} else {
return num + recursiveSum(num - 1);
}
}
这个函数可以计算从 0 到给定数字之间所有整数的和。例如,如果你调用 recursiveSum(100),它将返回 5050。
相关问题
用js写一个递归累加0~100的函数
function sum(n) {
if (n === ) {
return ;
} else {
return n + sum(n - 1);
}
}
console.log(sum(100)); // 输出505
帮我写一个javascript,通过递归树结构,把叶子节点上的num属性值,逐层累加到上一级节点。
可以使用递归的方式来实现这个功能,以下是一个示例代码:
```javascript
function sumNum(node) {
if (!node.children) {
return node.num;
}
let sum = 0;
for (let i = 0; i < node.children.length; i++) {
sum += sumNum(node.children[i]);
}
node.num += sum;
return node.num;
}
```
在这个代码中,我们定义了一个 `sumNum` 函数,它接收一个节点对象作为参数。如果这个节点没有子节点,则返回它自己的 `num` 属性值。
否则,我们遍历这个节点的每一个子节点,调用 `sumNum` 函数来计算它们的 `num` 属性值的和。然后,我们把这个和累加到父节点的 `num` 属性值上,并且返回这个新的 `num` 值。
此时,我们可以调用 `sumNum` 函数来遍历整个树结构,并且把每个叶子节点的 `num` 值逐层累加到上一级节点的 `num` 值上。例如:
```javascript
const tree = {
num: 1,
children: [
{
num: 2,
children: [
{ num: 3 },
{ num: 4 }
]
},
{
num: 5,
children: [
{ num: 6 },
{ num: 7 }
]
}
]
};
sumNum(tree);
console.log(tree.num); // 输出 28
```
阅读全文