(これは、コードのネガを印刷のバリエーションです。これはとても楽しかったです。MartinBüttner♦に感謝します-このテキストのほとんどは彼のものです。)
シンボルを次の印刷可能なASCII文字と考えてみましょう(スペースが含まれていることに注意してください)。
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
そして、これらの英数字:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
次のように、辺の長さNの印刷可能なASCII文字の正方形を考えます。
ONE,
{two}
&3,+=
!four
f|ve.
また、各行と各列には、少なくとも1つの記号と1つの英数字を含める必要があります。(上記の例はこれを満たします。)
そのような正方形のシンボリックネガは、各シンボルが英数字に、またはその逆に置き換えられる同じサイズの正方形であると定義します。たとえば、次は上記の例の有効なシンボリックネガになります。
[&]OK
a...b
1/100
i@#$%
(R) z
特定の文字の選択は、上記のカテゴリに含まれている限り、無関係です。
チャレンジ
あなたの仕事は、辺の長さがN> 1の正方形のソースコードでプログラムを書くことです。これは、そのソースコードのシンボリックネガをSTDOUTに出力します。末尾のスペースは印刷する必要があります。単一の末尾の改行を印刷する場合としない場合があります。
通常のクインルールも適用されるため、直接または間接に独自のソースコードを読み取ってはなりません。同様に、入力された各式の値を自動的に出力するREPL環境を想定してはなりません。
勝者は、最小の辺の長さNのプログラムです。同点の場合、ソースコードのシンボルが最も少ない提出が勝ちます。同点の場合は、最も早い回答が優先されます。
出力は任意のタイプのソースコードである必要はないので、これは本当に「クイン」タイプの課題ですか?
—
リアム
良い点は、実際にはそうではないと思います。
—
ルーク
@LiamNoronha出力はソースコードの関数であり、標準のクインルールが適用されるという点で、一般化されたクインだと思います。
—
マーティンエンダー
「独自のソースコードの読み取り」を定義します。たとえば、出力に文字をコピーするコマンドがある場合、これは「読み取り」のインスタンスになりますか?
—
コナーオブライエン