私は整数nをとり、最初のn個の逆数の合計を返す基本的な再帰関数を書いています。 2を入力すると、1.5をもたらすはずであり、0を入力すると、0Python 3再帰 - 最大深度を超えました
sum_to(2)=(1 + 1/2)= 1.5
ここで私が何を返すべきである:
def sum_to(n):
if n>0:
return sum_to(1+1/n) # Not sure if this is correct
return 0
しかし、私が得ているのは、最大再帰深度を超えていることです。私はこれを解決するためのリストを知ることができると知っていますが、再帰は本当に面白くて、私はそれを使って解決策を見つけたいと思います。あなたがあなたの終了条件に達するかどうかを確認するために、それを通して
「これが正しいかどうかわからない」必要があります。あなたのプログラムによると、sum_to(1)は1 + sum_to(1)と同じです。それが正しいかどうか分かりませんか? – Goyo
これは偶然あなたの質問に関連していますか? http://stackoverflow.com/questions/31323495/1-1-2-1-3-%C2%BC-finding-sum –
1を加え続けても、nは0に等しくなりますか? – AJPennster