0

最大再帰深度はどのように変更できますか? このため、Python では、可能な最大再帰は 987 であると思います。

def harmonic_sum(n):
    if(n==1):
        return 1
    else:
        h_sum=(1/n)+harmonic_sum(n-1)
    return h_sum
>>> harmonic_sum(986)
7.471379033179059
>>> harmonic_sum(987)
RuntimeError: maximum recursion depth exceeded in comparison

2 の n 乗を計算する再帰関数を書きましたが、987 に達すると失敗します。

割り当てられた最大再帰深度を変更する方法はありますか?

問題を解決するための反復的な方法を提案しないでください。これは、再帰を頭の中で定着させるための私の努力です。私はインターネットをサーフィンしており、タイマーを手にして可能な限り再帰的な問題を解決しています。

4

2 に答える 2

1
import sys
sys.setrecursionlimit(9000)

9000は任意です。アプリケーションに関連するものを選択してください。

于 2013-10-31T20:20:40.353 に答える