私は、与えられた数に再帰的にプログラムを追加するような素朴な実装をしていると言います。再帰制限を変更せずに1000000回に1を再帰的に追加する方法はありますか?
s=lambda n, i: i>0 and s(n+1, i-1) or n
ただし、再帰制限を超えて追加することはありません。
s(0, 1000000)
再帰で解決する方法はありますが、制限の変更はありませんか?
私はこの関数を900回呼び出す方法について考えましたが、数値がまだ0より大きい場合、それらの900をいくつかの数値に追加し、900を足した数を減らしてもう一度この関数を呼び出します。しかし、そのようなラムダを書く方法を扱うことはできません。
あなたは高い再帰の上限を設定している場合でも、あなたはほぼ確実にセグメンテーション違反を得るでしょう、なぜ再帰が必要ですか? –
@PadraicCunninghamコーディングチャレンジ –
ラムダである必要がありますか? –