JavaScript用递归方法求1-50的奇数和。

怎么用JavaScript用递归方法求1-50的奇数和啊?就是类似于斐波拉契用递归写的那种方法。

3个回答


function oddSum(n){
  if(n % 2 == 0){
    n--;
  }
  if(n == 1){
    return 1;
  }else{
    return n + oddSum(n - 2);
  }
}

var sum = oddSum(50);
console.log('50以内奇数和==' + sum);

设F(a,b)为求ab之间奇数和的函数,P(a)={a,a为奇数|0,a为偶数}
F(a, a) = P(a)
那这两个式子都可以用来递归,实现出来就行
F(a, b) = F( a, (a+b)/2 ) + F( (a+b)/2+1, b )
F(a, b) = P( a ) + F( a+1, b )

JonathanYan
JonathanYan 回复Derrick Rose: 我不写js,c++或java可以写。这已经不仅仅是语言的问题了,关键是思路
12 个月之前 回复
weixin_43822134
Derrick Rose 大佬有代码么?我试了试不知道具体怎么写……水平太菜了
12 个月之前 回复
var sum = 0;
  for(var i=1; i<=50;i++){
    if(i % 2 != 0){
      sum+=i;
    }
  }
console.log('50以内奇数和==' + sum);
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问