バットをすぐにオフにする、これは宿題の問題ではありません。私は自由な時間に再帰問題を練習しています。私はまだコンセプトの周りに頭を抱えています。私はこの問題を解決するのに非常に近いですが、私はそれらを合計しているときに根の整数 'n'をスキップする方法を理解できません。ここでは、これまでのコードは次のとおりです。 再帰を使用して、指定された整数以下のすべての整数を合計する方法
var sumBelow = function (n) {
console.log(n);
// base case
if (n === 0) {
console.log('we hit the base case');
return 0;
}
// initialize var to hold sum
if (!sum_sumBelow) var sum_sumBelow = 0;
// add numbers
sum_sumBelow = n + sumBelow(n - 1);
return sum_sumBelow;
};
console.log('answer is', sumBelow(4));
私は呼ん
'sumBelowは、(4)' 私がしたいことは3 + 2 + 1ですが、私は現在、4 + 3 + 2 + 1を取得しています。ルートパラメータをスキップするにはどうすればよいですか?
"sumBelow(n-1)"を呼び出し、 "sumbelow(4)"を呼び出す別の関数 "sumbelow '(n)"があります。 – mimre
あなたが求めているのではなく、 "initialize var" 'if'文は必要ありません。' sum_sumBelow'変数は再帰呼び出しでは実行されず、現在の呼び出しにのみ適用されます。その変数を完全に削除し、 'return n + sumBelow(n -1)'だけを返すことができます。 – nnnnnn
@nnnnnnそれを指摘してくれてありがとう!それを心に留めておくだろう –