方法1.マジック
このノミネートでは、私たちが毎日使用する完全に通常の言語、この場合はC ++(従来はC)での専門的なトリックが伝統的に提唱されています。
#include <stdio.h> int main() {int A = 10、B = A ^ 1937006968、C = B ^ 337251857; printf((char *)&C); }
免責事項。 このトリックは低レベルのメモリ操作を使用します。 結果は、使用しているコンピューターのアーキテクチャーとコンパイラーによって異なる場合があります。
この方法については、記事「 数値署名 」で詳しく説明しました。 これは、目的の文字列のバイトセットを含む数値を作成し、それらを文字列として出力することに基づいています。 難読化を改善するために、他の数字に対する操作の結果として目的の数字を計算できます。この場合、他の表示モードでは意味のある線のように見える数字はありません。
方法2.スパイウェア
昨年、この推薦でホワイトスペースコードが導入されました。 明白な選択は、目に見えない何かを書く必要があるときですが、それだけではありません。 今年は、ほぼ同じ効果を得るためにRubyを使用しています。
印刷する ".map {| z | z.size.chr}
もちろん、それほど印象的ではありません。 このスペースの暴動をフレーミングするチームを妨害する。 しかし、プログラムは簡単な例として書かれているわけではありません。引用符で囲まれた各文字列は、文字列の長さに等しいASCIIコードを持つ単一の文字に変換されます。 行の内容は完全に無関係です。たとえば、そこに明示的なテキストまたはASCIIアートを入力できます。
印刷する ## ## #### ##### ##### #### ## ## #### ##### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ###### ###### ##### ##### ###### ###### ###### ##### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##### ## ## ## ## ## ## ## ## ## ######### ".map {| z | z.size.chr}
方法3.劇的な
これは、昨年発表された方法の修正ほど独立した方法ではありません。 私はまだシェークスピア通訳を立ち上げることができましたが、残念なことに、おめでとうはそこから始まりませんでした。 まず第一に、言語は通訳者の作者に知られているシェークスピアのキャラクターのみを認識します。 アリエルもプロスペロもカリバンも彼らの中にはいません。 同じことが語彙にも当てはまります。モルモットや酔っぱらいのおっぱいはなく、著者によって承認された語彙のみです(やや貧弱)。 最後に、形容詞は感情的な色付けで名詞と一致しなければなりません。 これらのすべてのルールを順守すると、テキストに厳しい制限が課され、その魅力のほとんどが奪われます。
方法4.クラシック
昨年、私はすばらしいBefunge言語を完全に不当に非難しました-マスクされたおめでとうが見事に書かれています。ちょっとした工夫が必要です。 たとえば、次のように:
v> AA vBBB> RRR AA v> AA vBBB>:#、_ @ I "" AA "B" RAA "" AA "B" RIII SHHT AAAA ABBB RRRR AAAA GHHN AAAA OBBB CRRR III "" AA "B" RAA "" AA "B" R > ^ AA> BBB ^ RR AA> ^ AA> BBB ^ RR ooo
碑文をよく見ると、文字v、>および^が文字の行に沿って命令ポインターを指示していることがわかります。 カーソルの回転の間に、組み込みコマンドが追加されて、「文字」の形でスタックに文字が追加されます。Befungeでは、二重引用符がモードをコマンドの解釈からスタックへの文字入力に切り替えます。 パスに沿って命令ポインタに入る余分な文字は、単に無視されます。 プログラムは、最後のR文字で終了し、最初の2つの感嘆符は、スタックから文字をプッシュするループで終了します(スタックでのヒットの逆順)。
方法5.装飾的な
このセクションでは、 Pietでプログラムを提供します。この言語は、昨年のBrainlollerよりも創造性の余地を残しています。

文字のASCIIコードはブロックサイズでエンコードされ、色は「スタックの最後のブロックのサイズを追加-スタックの一番上に文字を配置-繰り返し」という一連のアクションを指定します。
そして最後に
方法6.ボーナス
私はさまざまな競争が本当に好きで、プログラマーの日の最高のお祝いはプロの競争だと心から信じています。 レフシャと彼のチームは同じことを信じており、私たちは力を合わせてこのようなコンテストを作成しました。 残念ながら、私たちは休暇そのものの時間を持っていませんでしたが、10月に間違いなくそれを開始します! それまでの間、将来のcoder2011.ruコンテストのサイトでベータテストに登録し、 ここでお気に入りのトピックに投票できます。