2
文字列をエンコードするために自分自身を並べ替えるプログラム(クインバリアント)
次の80文字の行を印刷するプログラムを作成します。 codegolf.stackexchange.comのこのプログラムは、文字列をエンコードするためにそれ自体を置換します。 その後、1行の入力を受け入れ、そのコードポイントを並べ替えてソースコードを出力します(追加も削除もされません)。そのコードが実行されるとき、印刷された行が入力の最新の行であることを除いて、同じことが起こる必要があります。 Perlスタイルの正規表現^[A-Za-z0-9. ]{80}$は、任意の入力行に一致します。追加の仮定を行うことはできません。 提出のスコアは、ソースコードのコードポイントの数から94を引いたものです。低いほど良い。 コードはQUINE(に受け入れられない何もないしなければならない例えば、ファイルの読み取りを)。特に、負のスコアを持つ投稿は、なんとか93として不正行為でなければなりません!64 80未満です。 2014-04-21を追加しました。プログラムのソースコード全体が、コードポイントをカウントする文字エンコーディングで整形式でなければなりません。たとえば、UTF-8の末尾のバイト範囲(80..BF)で80個の連続したバイトを使用し、それぞれを単一のU + FFFD REPLACEMENT CHARACTERとしてカウントすることはできません(さらに悪いことに、コードポイントではないため)。 また、エンコードは複数のコードポイント(コード化する方法を許可する場合など SCSUを、)、あなたのプログラムだけでなく、それが直接的または間接的に発生し、すべてのプログラムをのみ、そのうちの1つ(または少なくともすべてを使用しなければならないコード全体同等に扱われなければなりません)。