ミラーレベルを出力するプログラムを作成する
95個の印刷可能なASCII文字があります。 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ でConsolasフォント(スタック交換コードブロックのデフォルト)、文字の一部は、対称の垂直軸の周りに鏡を持っています。 これらの文字のペアは、相互のミラーです。 () [] {} <> /\ これらのキャラクターは自分自身のミラーです:(! "'*+-.8:=AHIMOTUVWXY^_ovwx|スペースは1つです。) これらにはミラーがありません。 #$%&,012345679;?@BCDEFGJKLNPQRSZ`abcdefghijklmnpqrstuyz~ (i、l、0、#、およびおそらく他の文字は、一部のフォントでは、独自のミラーであるが、我々はConsolas形状に固執するでしょう。) 文字列が39個のミラー文字のみで作られている場合、文字列は中央の垂直対称線を持つように配置されているため、それ自体の鏡であると言われます。それ](A--A)[はそれ自体の鏡ですが、そうでは](A--A(]ありません。 それ自体のミラーである1行の偶数長のプログラムを作成します。左半分のN個のコピーが追加され、右半分のN個のコピーが追加された場合、N + 1が出力されます。Nは負でない整数です。 たとえば、プログラムが](A--A)[(左半分:](A-、右半分:)の場合、次のよう-A)[になります。 実行](A--A)[すると出力されます1。(N = 0) 実行](A-](A--A)[-A)[すると出力されます2。(N = 1) 実行](A-](A-](A--A)[-A)[-A)[すると出力されます3。(N = 2) 実行](A-](A-](A-](A--A)[-A)[-A)[-A)[すると出力されます4。(N = 3) 。。。 実行](A-](A-](A-](A-](A-](A-](A-](A-](A-](A--A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[すると出力されます10。(N = 9) 等 ルール stdoutまたは言語の最も近い代替への出力。オプションの末尾の改行がある場合があります。何も入力しないでください。 このプロセスは、十分なメモリと計算能力があれば、理論的には2 15 -1以上のNで機能するはずです。 REPLコマンドだけでなく、完全なプログラムが必要です。 バイト単位の最短の初期プログラム(N = 0の場合)が優先されます。