1. ホーム
  2. language-agnostic

[解決済み] スタックオーバーフローを引き起こす最短のコードは何ですか?[クローズド]

2022-05-03 15:52:55

質問

Stack Overflowの公開を記念して、スタックオーバーフローを引き起こす最短のコードは何でしょうか?言語は問いません。

ETA: 時々Schemeを使うので、この質問についてはっきりさせておきたいのだが、テールコールの "recursion"は本当は反復であり、まともなコンパイラで比較的簡単に反復解に変換できる解はカウントされない :-P

ETA2: 現在、「ベストアンサー」を選択しました。 この記事 は、その根拠となるものです。投稿してくれた皆さん、ありがとうございました :-)

解決方法は?

これだけ答えがあって、Befungeがない?この中で最短の解答であることに賭けてもいい。

1

冗談じゃない。自分でやってみてください。 http://www.quirkster.com/iano/js/befunge.html

EDIT: これは説明する必要がありそうです。1オペランドはBefungeの内部スタックに1をプッシュし、それ以外のものがないため、言語のルール上、ループに入ります。

提供されたインタプリタを使用すると、最終的に--つまり 最終的には --Befunge のスタックを表す Javascript の配列が大きくなりすぎて、ブラウザが再割り当てできなくなることがあります。もし、以下のほとんどの言語がそうであるように、より小さくて境界のあるスタックを持つ単純なBefungeインタプリタを持っていたら、このプログラムはより速く顕著なオーバーフローを引き起こすでしょう。