タグ付けされた質問 「compression」

任意のデータの圧縮または解凍に関連しています。単一の特定の入力の圧縮に関連する課題は、代わりにタグ付けする必要があります[kolmogorov-complexity]

1
整数操作によりIEEE 754 64ビットのバイナリ浮動小数点数を実装します
(とりあえず質問「C」にタグを付けましたが、共用体をサポートする別の言語を知っている場合は、それも使用できます。) あなたの仕事は+ - * /、次の構造体の4つの標準的な数学演算子を作成することです。 union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 演算自体は整数部分のみを操作またはアクセスするため(演算中にdoubleと比較することはありません)、結果はまったく同じです(またはのような非数値の結果の場合は機能的に同等ですNaN)対応する数学演算がdouble代わりに直接適用されたかのように。 操作する整数部分を選択できます。おそらく、異なる演算子間で異なる部分を使用することもできます。(ユニオンのフィールドのいずれかから「unsigned」を削除することもできますが、それを実行するかどうかはわかりません。) スコアは、4つの演算子のそれぞれの文字のコードの長さの合計です。最低スコアが勝ちます。 IEEE 754規格に慣れていない私たちの人のために、ここではウィキペディアにそれについての記事です。 編集: 03-06 08:47 intfloat構造体にコンストラクタを追加しました。double /などを手動で設定するのではなく、テストに使用できます。

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

13
奇妙で野生の豆ゲーム
このゲームを既に知っている人もいるかもしれません。さまざまな色のジェリービーンズのコレクションを持っています。すべての色について、豆は異なる味を持つことができ、いくつかは良いものと悪いものがあり、それらを区別することはできません。あなたは与えられた色の豆を選び、あなたが良いものを選択するように祈らなければなりません。 そのため、(指定されたリストから)選択した色を受け取り、選択した味をランダムに返す最短のプログラムを作成します。味は組み込みのリストから選択する必要があります。入力および出力の可能なリストは次のとおりです。 Input Output choices [only one from the list] -------------------------------------------------- green lawn clippings, lime, mucus, pear yellow rotten eggs, buttered popcorn blue toothpaste, blue berry orange vomit, peach brown canned dog food, chocolate white stinky socks, tutti-frutti, baby diapers, coconut ルール: 入力は常に入力の選択肢からの色になると仮定できます。 大文字小文字と末尾のスペースおよび/または改行は関係ありません。 出力は一様にランダムである必要があります。連続したプログラムの実行では異なる結果が得られ、特定のテイストが得られる可能性はリスト内のすべてのテイストで同じである必要があります。 これはcode-golfなので、最短のプログラムが勝つかもしれません!

7
LZMA2圧縮を阻止する
ゴール LZMA2が効果的に機能しないように、ファイルをまとめて中断および修正するプログラムまたはプログラムのペアを作成します。中断および修正ルーチンは相互に関係する必要があるため、元のファイルを正確に回復できます。 対象 シェークスピアの収集された作品は、プレーンUTF-8(5,589,891バイト) ウィキメディアコモンズ2013ピクチャーオブザイヤーフル解像度(1,659,847バイト) 圧縮方法 Ubuntu /関連: xz -kz5 <infile> ウィンドウズ: 7z.exe a -txz -mx5 <outfile> <infile> その他:シェークスピアの作品を1570550バイト±100バイトに圧縮する圧縮レベル5のLZMA2コンプレッサーを使用します。 得点; 合計(すべてはバイト単位、ls -lまたはdirそれ): プログラムのサイズ(ファイルを可逆的に「ブレイク」/修正するために必要なもの) 次のサイズの差(絶対): シェークスピアの未加工の収集作品と、修正された(非圧縮の)コピー。 未加工の写真と変更した(非圧縮)コピー。 サイズの差または0のいずれか大きい方: シェークスピアの未加工の収集作品から、修正されたLZMA2圧縮コピーを差し引いたもの。 生の写真から変更したLZMA2圧縮コピーを差し引いたもの。 例 スコアが低く、怠laなゴルフだが、Python 2.xに準拠した例: import sys x = 7919 if sys.argv[1] == 'b' else -7919 i = bytearray(open(sys.argv[2], 'rb').read()) for n in …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

10
出力コードサイズのLorem Ipsum
コードと同じ長さのLorem ipsumを出力します! ルール: コードを出力と同一にすることはできません 圧縮ライブラリなし 2週間で最短のプログラムが勝つ 簡単に(と任意のコードゴルフ問題を解決することができませいずれかでネットワークの使用状況、ファイルの読み込みはなく、他のトリックeval、execなど) 例 Your code with length 25. 出力 Lorem ipsum dolor sit ame

1
gzipファイルの圧縮ユーティリティを作成する
この課題のタスクは次のとおりです。 stdinまたはその他の場所(ただし、ハードコーディングしてはいけません)から妥当なサイズ(たとえば<16 MB)のファイルを読み取るプログラムを作成し、圧縮された出力をstdoutに出力します。出力は有効なgzip圧縮ファイルである必要があり、圧縮ファイルがgunzipを実行する場合、以前とまったく同じファイルが生成されます。 ルール 使用するプログラミング言語は、この競争が始まる前に知っていなければなりません プログラムのスコアは、ソースコードまたはアセンブルされたプログラムの文字数(短い方)です。 既存の圧縮ライブラリを使用することは許可されていません。 楽しんで!

6
RLEデータを圧縮してASCIIアートを描画する
この質問は、私が別の質問に答えるために思いついたものに基づいています。 時々、ここの質問はいくつかのASCIIアートを描くように求めます。アートのデータを保存する簡単な方法の1つは、RLE(ランレングスエンコーディング)です。そう: qqqwwwwweeerrrrrtttyyyy になる: 3q5w3e5r3t4y 大きなASCIIアートを描くために、次のようなデータを取得している可能性があります(改行文字は無視されます)。 19,20 3(4)11@1$20 11@19,15"4:20 4)19,4:20 11@ ^^^ Note that this is "20 whitespaces" (Character count: 45) ASCIIアートに使用される文字は、小文字、大文字、数字ではなく、記号、マーク、記号のみですが、常に印刷可能なASCII文字セットになっています。 その文字列のスペースを節約したいので、数字を大文字の文字セットで置き換えます( 'A'は1に等しく、 'B'は2に等しくなり、 'Z'が26に等しくなります)。文字を26回以上繰り返す。だからあなたは得る: S,T C(D)K@A$T K@S,O"D:T D)S,D:T K@ (Character count: 34) そして最後に、(文字+記号)のいくつかのグループが繰り返されていることに気づくので、文字列に3回以上出現するグループを、文字列の順序または出現順に小文字の文字セットで置き換えますが、バッファーに格納します置換(置換ごとに "group + substitution char"の形式)が行われ、残りの文字列はそのままになります。したがって、次のグループ: S, (3 times) T (4 times) K@ (3 times) 26個を超えるグループが繰り返されることはないため、それぞれ「a」、「b」、「c」で置き換えられます。だから最後にあなたは得る: S,aT …

12
単純な州の売上税計算機
米国の消費税は控えめに言っても複雑です。通常、州の売上税があります(州の売上税を徴収しないいくつかの州があります)が、郡の売上税、学区の売上税、地方自治体(市)の売上税、または首都圏消費税。都市のさまざまな部分で異なる消費税が発生する場合もあります。ただし、この課題では、州の売上税のみに焦点を当てます。 ゼロより大きい米ドル金額(小数点以下第2位までの精度)と州(氏名または2文字の略称のいずれか、選択、大文字小文字は関係ありません)を指定し、以下の売上税率のチャートを使用すると、特定の販売のために徴収する必要がある、対応する州の売上税を正確に小数点以下2桁に切り捨てて出力します。コードが丸めを処理する方法を指定してください。 編集:ワシントンの略語は、WAではなくWSとして誤ってリストされていました。それは私の間抜けだったので、回答はどちらかの略語を使用することがあります。 State Abbr % Alabama AL 4.00% Alaska AK 0.00% Arizona AZ 5.60% Arkansas AR 6.50% California CA 6.00% Colorado CO 2.90% Connecticut CT 6.35% Delaware DE 0.00% Florida FL 6.00% Georgia GA 4.00% Hawaii HI 4.00% Idaho ID 6.00% Illinois IL 6.25% Indiana IN 7.00% Iowa IA …

7
ヤコビ行列を作成する
未知数のベクトルを取り、いくつかの一般的な微分可能関数を適用します。ヤコビアンは、次いで行列によって与えられるように。 たとえば、と仮定m=3しn=2ます。次に(0ベースのインデックスを使用) のヤコビアンfは この課題の目標は、このヤコビ行列を出力することです。 入力 プログラム/関数は、2つの正の整数mとを入力として受け取る必要nがfありuます。これらはそれぞれとのコンポーネントの数を表します。入力は、任意のソース(stdio、関数パラメーターなど)から取得できます。あなたはこれらが受け取られる順序を指示することができ、これはあなたの答えへのどんな入力でも一貫していなければなりません(あなたの答えで指定してください)。 出力 ヤコビ行列を表すもの。この表現は、ヤコビ行列のすべての要素を明示的に記述する必要がありますが、各項の正確な形式は、何が区別され、何が明確であり、すべてのエントリが論理的な順序で出力される限り、実装で定義されます。マトリックスを表すための受け入れ可能なフォームの例: 外部リストの各エントリがヤコビアンの行に対応し、内部リストの各エントリがヤコビアンの列に対応するリストのリスト。 各行がヤコビアンの行であり、行の各区切り文字で区切られたエントリがヤコビアンの列に対応する文字列またはテキスト出力。 マトリックスのグラフィック/ビジュアル表現。例:MatrixFormコマンドを使用したときにMathematicaによって表示されるもの 他のいくつかの密行列オブジェクト。すべてのエントリは既にメモリに格納されており、クエリできます(つまり、ジェネレータオブジェクトを使用できません)。例としては、Mathematicaが内部的にMatrixオブジェクトをどのように表すかが挙げられます エントリ形式の例: 形式の文字列。d f_i/d u_jここでi、およびjは整数です。例:d f_1/d u_2。dとf_1またx_2はの間のこれらのスペースはオプションであることに注意してください。また、アンダースコアもオプションです。 d f_i(u_1,...,u_n)/d u_jまたはの形式の文字列d f_i(u)/d u_j。つまり、関数コンポーネントの入力パラメーターf_iはオプションであり、明示的に指定するか、コンパクトな形式で残すことができます。 フォーマットされたグラフィック出力。例:式を評価したときにMathematicaが出力するものD[f_1[u_,u_2,...,u_n],u_1] 開始インデックスとその目的uを選択できますf(回答で指定してください)。出力は、必要なシンク(stdio、戻り値、出力パラメーターなど)への出力です。 テストケース 次のテストケースでは、この規則を使用していm,nます。インデックスは0ベースで表示されます。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

25
相対論的速度を計算する
特殊相対、反対方向に移動している別の物体に対して移動する物体の速度は、以下の式によって与えられます。 s=v+u1+vu/c2.s=v+u1+vu/c2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) この式では、vvvとuuuはオブジェクトの速度の大きさであり、cccは光速です(これは約3.0×108m/s3.0×108m/s3.0 \times 10^8 \,\mathrm m/\mathrm s、この課題に十分近い近似値)。 たとえば、あるオブジェクトがで動いていてv = 50,000 m/s、別のオブジェクトがで動いてu = 60,000 m/sいる場合、他のオブジェクトに対する各オブジェクトの速度はおよそになりますs = 110,000 m/s。これは、ガリレオ相対論(速度が単純に追加される)の下で予想されることです。ただし、v = 50,000,000 m/sおよびのu = 60,000,000 m/s場合、相対速度はおよそとなり、ガリレイ相対性理論によって予測された106,451,613 m/sものとは大幅に異なり110,000,000 m/sます。 チャレンジ 二つの整数所与vとuするように0 <= v,u …

2
ASCII迷路圧縮
チャレンジ ASCII迷路の圧縮に特化した圧縮アルゴリズムを設計します。圧縮アルゴリズムと解凍アルゴリズムの両方を作成する必要があります。あなたのスコアはあなたの圧縮された迷路のサイズに基づいています。 迷路 これらの迷路は、主に文字で形成されている(床)、 、+、-、|及び#(壁)、及び正確に一つ各々の^(開始)及び$(エンド)。また、ASCII文字を含めることもできます。これは、床タイルとしてカウントされます。この課題の目的のために、迷路は解決可能である必要はなく、迷路の内容の実際の意味は無関係です。 + 少なくとも1つの水平方向に隣接する壁セルと少なくとも1つの垂直方向に隣接する壁セルがある壁セルに使用されます。 | 垂直方向に隣接する壁セルが少なくとも1つあり、水平方向に隣接する壁セルがない壁セルに使用されます。 - 水平方向に隣接する壁セルが少なくとも1つあるが、垂直方向に隣接する壁セルがない壁セルに使用されます # 他の壁セルに直角に隣接していない壁セルにのみ使用されます。 すべての迷路は長方形ですが、必ずしも規則的なグリッド/壁の配置があるとは限りません。 圧縮する迷路 迷路1 +----+---- | o | | | -- | o--+ | | | $ --^-+-+--- 迷路2 +-----+---+ | a | | ^ +-+-+ # | | | | B | | | | --+ | …

30
予約語を出力する
コンピューター言語の場合、予約語は、変数、関数、またはラベルの名前など、識別子として使用できない単語です。他のコンピューター言語の場合、キーワードは言語命令のセットと見なすことができます。 チャレンジ 選択した言語を使用して、選択した言語でコードを記述し、1から10までの数字を指定して、選択した言語の予約語(キーワード)を1<=n<=10出力しnます。 詳細 選択した言語で大文字と小文字が区別される場合、出力されるキーワードも大文字と小文字を区別する必要があります。 選択した言語で大文字と小文字が区別されない場合、出力されるキーワードはどのような場合でも使用できます。 選択した言語は言って10個の未満のキーワードがある場合はp任意のため、コードを出力しなければならないが、すべての予約語nの間pとを10。 可能であれば、演算子をキーワードと見なすかどうかを回答で指定してください。 Javaの可能なサンプル(JDK10) n=1 --> true n=3 --> try new interface n=4 --> continue this long break > <>の可能なサンプル n=1 --> > n=3 --> > < ^ n=4 --> > < \ / Brain-Flakの可能なサンプル n=1 --> ( n=3 --> ( ) [ ] n=9 …

1
最も耐久性のあるポケモンタイプ
バックグラウンド この質問は、に似て、この1。以下に必要なすべての情報を提供しました。他の課題に精通している場合は、単一の攻撃の効果を確認するのではなく、すべての防御をランク付けしていることに注意してください。これは、テーブルが互いに逆であることを意味し、この課題の目標はユーザー入力なしにすることであるため、重要です。 ポケモンには18種類あります: Normal Fighting Flying Poison Ground Rock Bug Ghost Steel Fire Water Grass Electric Psychic Ice Dragon Dark Fairy ポケモンには、それらを定義する1つまたは2つの固有のタイプ(「タイプの組み合わせ」)があります。たとえば、Bulbasaurにはタイプの組み合わせGrass / Poison(2つのタイプ、GrassとPoison)があり、Charmanderにはタイプの組み合わせFire(1つのタイプのみ)があります。タイプの順序は関係ありません(つまり、Grass / PoisonはPoison / Grassと同じです)。 これらのタイプにはすべて長所と短所があります。 型は別の型に対して弱い場合があります。火は水に対して弱い。この結果、火は水に対して2倍の乗数を持ちます。 タイプは別のタイプに対して耐性があります。水は水に耐性があります。この結果、水は水に対して0.5倍の乗数を持ちます。 タイプは別のタイプの影響を受けません。飛行は地面の影響を受けません。これにより、FlyingはGroundに対して0x乗数を持ちます。 それ以外のものは標準の1倍の乗数を受け取ります。Normalに対するNormalの結果は、1倍の乗算器になります。これらの長所と短所は、複合または否定することもできます。たとえば、火は水に対して弱いですが、火からの弱点は水からの抵抗を打ち消すため、火/水デュアルタイプは水に対して1倍の乗数を持ちます。完全な表と詳細な説明については、以下を参照してください。 目的 ここでの目標は、防御能力の順にソートされたすべてのタイプの組み合わせのリストを出力し、それらの(抵抗+耐性)の数、弱点、およびそれらの間の比率をリストすることです。具体的には、並べ替え順は次のとおりです。弱点に対する(抵抗+耐性)の比率が最も高いタイプの組み合わせが最初にリストされ、同数の場合、抵抗と耐性が最も多いタイプの組み合わせがタイブレークに勝ちます。このリストは任意の方法で作成できます(明らかな方法は、各型の組み合わせに対して型の有効性の計算を行うことですが、事前計算された出力または部分的に事前計算された出力をプログラムに格納すると、短くなる場合があります)。 タイプ有効性表 人間が読める表については、ポケモンデータベースを 参照してください。注:このリストの列は、検討中のものです。しかし、念のために、これは圧縮されたコンピュータフレンドリーな有効性マトリックスで考えている表です。すべての値に2を掛けているので、厄介な小数を処理する必要はありません。 Attacking type (same order) Nor 222222422222202222 Fir 214211224221422211 D Wat 211441222222222212 e …

2
GIFエンコーダーを作成する
はい、古き良きGIFです。汎用性が高く、特許を嫌い、制限(および特許)のために部分的に廃止されたGIFは、コアでは、カラーパレットと、LZWアルゴリズムを使用して圧縮されたパレットインデックス付き画像で構成されています。 あなたの仕事は、標準入力からASCII PPM形式( "P3"マジックナンバー)の画像を読み取り、GIF形式で同じ画像(同一のピクセル単位)を標準出力に書き込むプログラムを作成することです。出力はバイナリ形式、または各バイトが空白で区切られた0〜255の数値で表されるASCIIテキストのいずれかです。 入力画像は256色を超える色がないことが保証されています。 得点: プログラムは3つのサンプル画像でテストされ、スコアは次のように計算されます。 プログラムサイズ+合計(出力サイズ-各サンプル画像の参照サイズ) 最も低いスコアが優先されます。 要件: プログラムは、サンプル画像に限定されず、さまざまなサイズの類似した画像で機能する必要があります。たとえば、寸法を2の倍数に制限したり、ppmの最大色を255と想定したりできますが、それでもさまざまな入力画像で機能するはずです。 出力は、任意の準拠プログラムで読み込むことができる有効なGIFファイルである必要があります(ASCII出力オプションを使用している場合は、バイナリに変換して戻します)。 画像処理機能(組み込みまたはサードパーティ)を使用することはできません。プログラムには、関連するすべてのコードが含まれている必要があります。 プログラムは、無料で入手できるソフトウェアを使用してLinuxで実行できる必要があります。 ソースコードはASCII文字のみを使用する必要があります。 サンプル画像: スコアリングに使用される3つのサンプル画像を次に示します。ppmファイルを含むzipアーカイブをダウンロードできます(そのページの上部にあるダウンロードボタンを使用)。または、以下のコマンドでImageMagickを使用して、下のpng画像から変換することもできます。 convert file.png -compress none file.ppm 確認のために、ppmファイルのMD5チェックサムも提供しています。 1.アンバー 参照サイズ:38055 ppmのMD5チェックサム:d1ad863cb556869332074717eb278080 2. blueeyes 参照サイズ: ppmの28638 MD5チェックサム:e9ad410057a5f6c25a22a534259dcf3a 3.ピーマン 参照サイズ:53586 ppmのMD5チェックサム:74112dbdbb8b7de5216f9e24c2e1a627

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.