用dw编写一个函数sum(n),计算1+3+5+7+…+n的和。 y(n)={(1n=1||n=2@y(n-1)+y(n-2) n>2 )
时间: 2023-12-25 19:04:11 浏览: 143
计算1加到n的和
5星 · 资源好评率100%
这里提供两种不同的方式实现该函数:
方法一:
```
function sum(n) {
let result = 0;
for (let i = 1; i <= n; i += 2) {
result += i;
}
return result;
}
```
方法二:
```
function y(n) {
if (n === 1) {
return 1;
} else if (n === 2) {
return 3;
} else {
return y(n-1) + y(n-2);
}
}
function sum(n) {
let result = 0;
for (let i = 1; i <= n; i++) {
result += y(i);
}
return result;
}
```
这里使用递归函数y(n)计算1 3 5 7 … n的值,然后在sum(n)中循环调用y(n)求和。注意,递归函数的边界条件是n等于1或2,因为当n为偶数时,y(n)的值为前面的奇数值之和,不符合题目要求。
阅读全文