チャレンジ:
あなたの挑戦(受け入れることを選択した場合)は、ここにある5MBの「ウィリアムシェークスピアの全集」を圧縮および解凍することです:http : //www.gutenberg.org/cache/epub/100/pg100.txt
(MD5: a810f89e9f8e213aebd06b9f8c5157d8
)
ルール:
- あなたはしなければならない介して入力を取る
STDIN
経由して出力STDOUT
... - ...そして、入力に同一の解凍結果を提供する必要があります。
- (これは、上記と同じ MD5を取得できなければならないということです。)
cat inpt.txt | ./cmprss | ./dcmpress | md5
- (経由するもの
STDERR
はすべて破棄されます。)
- (これは、上記と同じ MD5を取得できなければならないということです。)
合計ソースコードには2048文字未満を使用する必要があります。- (これはコードゴルフではありません。ソースコードの長さに基づいて得点を得ているわけではありません。これ
は物事を有限に保つための単なるルールでした。) (分割した場合は、すべてのソースコードを連結した長さを取ります。)
- (これはコードゴルフではありません。ソースコードの長さに基づいて得点を得ているわけではありません。これ
- 君は 必要ありますすぎて(理論上)のプロセスと同様のプレーンテキスト入力にできること。
- (例えば、提供されたシェークスピアのみを出力できるメカニズムをハードコーディングする入力は受け入れられません。)
- (他の文書の圧縮サイズは無関係です-圧縮解除された結果が代替入力と同一である場合。)
- あなたは言語のいずれかを選択(複数可)を使用します。
- (例:を使用して圧縮し
awk
たり、を使用して解凍したりすることをお気軽にjava
)
- (例:を使用して圧縮し
- あなたは下さい二つの別々のプログラムを書くかのように「スイッチ」の何らかの形でそれらを結合します。
- (圧縮モードと解凍モードの両方を呼び出す方法の明確なデモが必要です)
- 外部コマンドは使用できません(例:
exec()
)。- (シェル言語を使用している場合-申し訳ありません。ビルトインで間に合わせる必要があります。共有と楽しみのために「受け入れられない」答えを投稿することはできますが、判断はできません! )
- データを圧縮することを目的とする組み込み関数またはライブラリが提供する関数を使用することはできません(たとえば、
gz
など)- (エンコードの変更は、このコンテキストでは圧縮とは見なされません。ここでは、何らかの裁量が適用される場合があります。提出物でのソリューションの許容性については、お気軽に議論してください。)
- 参加することを選んだら、楽しんでみてください!
すべての良い競争には、勝利という客観的な定義があります。エルゴ:
- すべてのルールが順守されている場合、最小の圧縮出力(
STDOUT
バイト単位)ます。- (を介して出力を報告してください
./cmprss | wc -c
)
- (を介して出力を報告してください
- 抽選(同一の出力サイズ)の場合、最も多くのコミュニティが投票します。
- 2回目の抽選(同一コミュニティのアップ投票)のイベントでは、優雅さと純粋な天才の完全に主観的な検査に基づいて勝者を選びます。
;-)
提出方法:
このテンプレートを使用してエントリをフォーマットしてください:
<language>, <compressed_size>
-----------------------------
<description> (Detail is encouraged!)
<CODE...
...>
<run instructions>
読者と投稿者にコメントを通じて会話することをお勧めします-codegolf.stackを通じて人々が学び、より良いプログラマになるための本当の機会があると信じています。
受賞:
私はすぐに休暇を取ります。今後数週間にわたって提出物を監視するかもしれないし(しないかもしれません)、9月19日に締めくくりに挑戦します。これが、人々が考え、提出する良い機会を提供すること、そして技術とアイデアを積極的に共有することを願っています。
(読者または提出者として)参加して何か新しいことを学んだ場合は、励ましのコメントを残してください。
入力を関数の引数として使用できますか?たとえば、JavaScriptなどの言語のソリューションは、コマンドラインAFAIKから実行できませんでした。私の場合、ブラウザで実行する方が簡単です。
—
ETHproductions
なぜテンプレートなのか?それに依存するスタックスニペットを作成しますか?
—
ピーターテイラー
コードサイズの制限がない場合、0バイトを印刷する圧縮プログラムと、シェイクスピアの作品全体を印刷するためにハードコードされた解凍プログラムを書くのを妨げるものは何ですか?
—
リン
@Maurisが指摘した問題を解決するために、コードは理論的に他の入力と連携する必要があるというルールを追加できます。
—
kirbyfan64sos
code-challenge
ます。