次のプロパティを持つプログラムを作成します。
そのまま実行すると、プログラムは出力を生成しません(つまり、0バイトの出力)。
プログラム内の位置は、(お好みの:それは、開始、終了、または途中でどこかにすることができる)があり、次のプロパティを持つ:置く経由でプログラムを修正する任意の文字列は、結果のプログラムが時にその文字列を印刷することが原因となります実行されました。
これは、文字列に引用符、バックスラッシュ、コメントマーク、区切り文字、NULバイトなどが含まれているかどうかに関係なく機能する必要があります。そこに何を配置しても、文字列は文字列として解釈され、完全にそのまま出力されます。ただし、非常に長い文字列の処理に失敗すると、コンパイラーがメモリ不足などを引き起こす可能性があります(正確には、少なくとも1000バイトまたは最大で3倍の文字列を処理できる必要がありますプログラムの長さ、どちらか長い方)。
無効なソリューションの例は次のとおりです。
print("");
# ^ text goes here
Python、Perl、Rubyなど。多くの文字列で機能しますが、二重引用符を含む文字列、または部分文字列\n
(改行として解釈される)を含む文字列では機能しません。
この問題はほとんどの言語ではおそらく不可能であることに注意してください。課題の少なくとも一部は、それが機能する言語を見つけることです。選択した言語は、このサイトの定義に基づくプログラミング言語である必要があります。たとえば、テキストでソリューションを送信しないでください。
これはコードゴルフなので、最短のプログラムテンプレートが優先されます。ただし、現在の勝者に勝てない場合でも、ソリューションを提出することを思いとどまらないでください。それでも、2番目、3番目などの場所を競ったり、可能な限りできるだけ多くの答えを見つけたりすることができます。ただし、送信する前に、プログラムが仕様全体を満たしていることを確認する必要があります。おおよその解決策では、問題のポイントを見逃してしまいます。
AWK
、ただ1
それをするでしょう。