関連:Interquine
プログラムAは実行時にプログラムBのコードを出力し、BはCのソースを出力し、CはAのソースを出力します。
今回は2つの文字を交換して再度交換することはできません:)
要件:
- すべてのプログラムで1つの言語のみ
- 標準の抜け穴の制限が適用されます
- プログラムはすべて異なります。自身を出力する1つのプログラムは対象外です。お互いに出力する2つも対象外です。
- すべてのプログラムは空ではないか、長さが少なくとも1バイトです。
- stdinが接続されているため、読むものはありません
/dev/null
(できれば、このルールを悪用することができます)。出力はstdoutに送られます。 - ランダムな結果を生成する関数を使用しないでください。
追加:
- 可能であれば説明してください
スコアは最短のものの長さです(短いものから長いプログラムを生成できますか?)。すべてのプログラムの長さを書き、最小の数字を強調表示してください。末尾の改行はカウントされません。最も低いスコアが勝ちます。