私はPython 2.7.3を使用しており、この機能を持っています:
def f(n):
if n == 0:
return 0
else:
return (n % 3 == 0 or n % 5 == 0) * n + f(n - 1)
f(999)
f(993) までは動作しますが、f(999) までは動作しません。私が試してみると、無限の量のエラーが飛び出し続けます。理解できません。誰が何が悪いのか教えてもらえますか?
編集: 回答ありがとうございます。Pythonで反復を使用したほうがよいと思います。