プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

1
矢印で再編成
私が何かを書いていて、間違ったボックスに間違って書いたとしましょう: +-------+--------+ | Verbs | Nouns | +-------+--------+ | Truck | | | eat | Banana | | | Car | +-------+--------+ だから、私は怠け者であるはずの空間に矢印を描くだけです: +-------+--------+ | Verbs | Nouns | +-------+--------+ |[Truck]---> | | eat | Banana | | | Car | +-------+--------+ あなたの仕事は、見た目をきれいにすることです。 +-------+--------+ | Verbs | Nouns | +-------+--------+ …
11 code-golf 

10
フィボナッチドミノタイル
あります古典的な組み合わせの結果タイルに、いくつかの方法があること2*nによって、ストリップ1*2ドミノがn 番目のフィボナッチ数は。あなたの目標は、nこれらの8つのタイルのようにダッシュと垂直線で描かれた特定のすべてのタイルを印刷することですn=5: |———— |———— ——|—— ——|—— |||—— |||—— ————| ————| ||——| ||——| |——|| |——|| ——||| ——||| ||||| ||||| n入力として必要な出力を出力するプログラムまたは名前付き関数を提供します。最少バイトが勝ちます。 入力 数n間1および10STDINまたは機能入力を介して包括的な。 出力 2*nストリップの可能なドミノタイルをすべて水平に描画して印刷します。タイルの順序は任意ですが、それぞれ1回だけ表示される必要があります。これらは空白行で区切る必要があります。 垂直ドミノは2つの垂直バー(|)で構成され、水平ドミノは2つのダッシュ(—)で構成されています。-ASCIIのままにするために、ダッシュの代わりにハイフン()を使用できます。 印刷出力が同じように見える限り、空白で何でもできます。

3
SPOF画像ハンギング
目的 壁に掛けたい素敵な写真があります。そして、私はそれを壮観な方法でそこに吊るしたいので、正の整数nでnある釘に吊るすことを選びました。 しかし、私は優柔不断でもあるので、気が変わっても、写真を撮るのに苦労する必要はありません。したがって、n爪のいずれかを削除すると、画像が落ちるはずです。私の家には摩擦がないと言いましたか? 手伝って頂けますか? ルール プログラムはn、stdinから番号を読み取り、stdout(または言語の同等物)に出力する必要があります。 出力は、他の末尾または先頭の文字を含まない出力仕様に応じたソリューションでなければなりません。ただし、末尾の空白や改行は許容されます。 爪を正確に 使用する必要がありますn。 摩擦のない世界を想定して、ソリューションは次の条件を満たす必要があります。 ソリューションで説明されているように画像をぶら下げて、画像が落ちてはいけません。 爪のいずれかが削除された場合、画像が落ちる必要があります。 標準の抜け穴が適用されます。特に、ブルートフォースソリューションの検証プログラムなどに要求することはできません。 4.2はすでに、すべてのn釘が関与しなければならないことを暗示していることに注意してください。 出力仕様 すべての爪は、左から右に、それぞれの位置から名前が付けられ1ます。 文字列を爪の周りに配置するには、時計回りと反時計回りの2つの基本的な方法があります。私たちは、時計回りのステップ示す>とと反時計回りのステップを<。 文字列が爪の周りに置かれるたびに、それは爪の上に出てくるので、爪を飛ばすことは、文字列が中間爪の上を横切ることを意味します。 すべてのソリューションは、爪1で始まり、爪で終わる必要がありnます。 出力は、一連のステップで構成されている必要があります。ステップは、爪の名前と、その周りに文字列を置く方向の組み合わせです。 出力例 n=5andの出力例を次に示しますn=3。 1>4<3<2>4>5< # n=5, incorrect solution 1>2<1<2>3<2<1>2>1<3> # n=3, correct solution そして、これはn=5(awsumz gimp skillz)の不正解の視覚的表現です の正しい解決策n=1は、単に1>または1<です。複数の爪の場合、さまざまな解決策があります。これはスコアの一部であるため、1つだけを出力する必要があります。 検証 ソリューションが正しいかどうかは、www.airblader.de / verify.phpで確認できます。 GET要求を使用するため、必要に応じて直接呼び出すことができます。たとえば、fooが各行にソリューションを含むファイルの場合、次を使用できます。 cat foo | while read line; do echo `wget …
11 code-golf 

6
私の端末の退屈さを軽減できますか?
最近の端末は退屈です。以前は次のようでした。 今、彼らはただ当たり障りのない鈍い、白黒です。私の端末を再びカラフルにするプログラムを書いてほしい! 説明 このRubyコードの例をご覧ください。 ほとんどのLinux端末はこれらのエスケープシーケンス(\eエスケープ文字の略)をサポートし、WindowsはANSICONでこれらをサポートできます。文字列のテキストまたは背景色を変更できる特定のエスケープシーケンスの構文は次のとおりです。 \e[{{COLOR}}m ここ\eで、エスケープ文字(0x1BASCII)を表し、{{COLOR}}使用する色の番号に置き換えられます(これについては後で詳しく説明します)。このエスケープシーケンスの後に来るテキストは指示どおりにフォーマットされ、値が0すべてのフォーマットをリセットします。 あなたの課題は、色を含む可能性のあるテキストを指定する文字列を取得し、そのカラフルなバージョンを出力することです。 入出力 通常のテキストは通常​​と同様に機能し、文字通り印刷されます。たとえば、入力wafflesは同じ出力を生成し、特別な色はありません。 色を指定するための構文は、Wikipediaの構文に似ています。たとえば、文の赤の単語「the color red」に色を付けるにはThis is the color red!、次のように入力します。 This is {{red|the color red}}! 背景色も機能します。白い背景に黒い文字が必要な場合は、これを使用します。 {{black|white|This text is black on white}} 背景色のみを取得するには、前景を省略します。 {{|red|This text has a red background}} 仕様 2つの開いた中括弧は、常にカラーディレクティブの始まりを指定します。2つの閉じ中括弧で終了を指定します。ブラケットは常に一致します。{{対応することなくa が決してなく、対応する前に}}a }}が決して来ないでしょう{{。これらのカラーディレクティブはネストされず、a {{はカラーディレクティブ内に表示されません。 カラーディレクティブ内には、常に1つまたは2つの|シンボルがあります。ある場合、前のテキストは前景色であり、後のテキストはその色で表示する文字列です。2つある場合、最初のテキストの前のテキストが前景色であり、最初のテキストの後2番目のテキストが背景色であり、2番目の後のテキストが表示する文字列です。これらの垂直バーは、カラーディレクティブの外側に存在する場合があり、文字どおりに印刷する必要があります。 前景色または背景色(両方ではない)が空の場合があります。その場合は、デフォルトのままにしておく必要があります。最終的な文字列(出力する文字列)が空になることはありません。 特定の色のテキストを出力する方法は次のとおりです。 色配列は、「説明」セクションで定義されています。たとえば、42の色シーケンスはになります"\e[42m"。 色を設定するには、以下で決定した番号の色シーケンスを印刷します。 Color name | Color …
11 code-golf 

16
CodeBots 2:イベント駆動設計
Code Bots 2へようこそ! 前回のコードボット以来、あなたはレッスンを学びました。より多くのアクションをより少ない行に収めるためのより多くの方法を見つけようとしましたが、ついにそれを手に入れました。イベント駆動型のコードボットを作成します。 ボットは24行で構成する必要があります。各行は、次の2つの形式のいずれかに従います。 Condition:Action または Action あなたのボットはまた、名前の5つの整数格納するのに十分な記憶域持っAてしますE。整数には、0〜23の値を格納できます。 各ターンで、条件の1つが真Cでない限り、lineを実行します。その場合、Ctrueの条件の行番号が含まれ、その行が実行されます。各ターンの終わりに、C増加します。 利用可能な条件があります: Start最初のターンのみに当てはまります。これを1回だけコードに含める必要があります BotAt(N) Nで定義された場所にボットがある場合はtrue Equals(A,B) AがBに等しい場合はtrueです。異なるタイプにできますが、そうであれば、等しくなりません。 Modified(A)A最後のターン中にコピーされた場合はtrueです。 A変数名、行、または条件でなければなりません Any(C1,C2,...) 条件のいずれかが真の場合に真 None(C1,C2,...) どの条件も真でない場合は真 All(C1,C2,...) すべての条件が真の場合は真 Not(C)Cがfalseの場合、trueです。C条件でなければなりません。 変数は、次の形式のいずれかになります。最初の9つは数値であり、このページでNを使用する場合は常に使用できます。 A、B、C、D、E 0から23までの数 This 現在の行番号を返します Add(N1,N2,...) すべての値の合計を返します Sub(N1,N2) N1-N2を返します Mult(N1,N2,...) すべての値の積を返します Div(N1,N2) N1をN2で割った値を返します Mod(N1,N2) N1 mod N2を返します OVar(N) 変数名を受け入れ、相手の変数を返します Line(N) コードのN行目を返します Type(N) コードのN番目の行タイプを返します(タイプはアクションの名前です) Cond(N) N行目に条件を返します …

4
成長するマンハッタンアメオバス
*** ameobaグラフ****は、すべてのノードの値が0から非負の整数Nであり、値x <Nの特定のノードが値x +のx + 1個の異なるノードに接続するツリーのタイプです1。 N = 3のアメオバグラフ(A 3と表示) 2が3を共有することは許可されていないことに注意してください。正確に3つの3が各2に「属する」必要があります。 チャレンジ あなたの仕事は、ノード間のマンハッタン距離を貪欲に最小化することによって、これらのアメオバグラフを2次元グリッドで誘導的に「成長」させることです。 基本ケース: A 0は単なるグラフ0です。 帰納的ステップ: A N + 1は、新しいN + 1値ノードを既存のA N構造内のN値ノードのできるだけ近くに繰り返し配置することによって生成されます。(最も近いスポットはすでに満たされている可能性があるため、可能な限り近くすることができます。) 誘導ステップの場合、従う必要がある一般的な手順は次のとおりです。 for each existing node P with value N: for each new N+1 valued node Q you need to connect to P: //this loops N+1 times …

6
rとnが与えられた場合、xの最初の数字を最後に移動するとx / r = yになるxの最初のn個の数字を見つける
目的 入力が与えられ、最初の自然数rをn見つけて、最初の数字を最後の位置に回転させるとが得られます。nxx/r あなたはそれ2 <= r <= 9と仮定するかもしれません1 <= n <= 65535。 stdinまたはコマンドライン引数から入力を受け取るプログラムを作成できます。または、パラメータを取りr、nパラメータとして使用する関数を作成できます。ただし、出力は標準出力にする必要があります。出力はの値ごとに1行であるべきであり、増加する順番にxフォーマットされx/r=yていxます。 ソリューションは、妥当なデスクトップコンピューターで1分以内にすべての有効なケースを処理できる必要があります。 テストケース 入力:4 5 出力: 102564/4=25641 205128/4=51282 307692/4=76923 410256/4=102564 512820/4=128205 入力:5 1 出力:714285/5=142857 これはコードゴルフであるため、最小バイトが勝ちます。勝利の答えは、今から4週間後に受け入れられます(2014-09-19)。 この質問のクレジットは同僚に送られ、同僚がこの質問をここに投稿することができました:)

3
英語の単語の音節化-種類
テキストの文字列内の単語をハイフンで区切って音節化するプログラムを作成する必要があります。それは大変な作業になるので、主に完璧なアルゴリズムに必要な発音の表を持ちたくないので、いくつかの部分をスキップしたいでしょう。また、この割り当てを与えられたときの復venとして、可能な限り短く(したがって、読み取り不能および保守不能に)したいと考えています。 次の2つの選択肢があります。 STDINから文字列を取得し、その結果をSTDOUTに出力するプログラムを作成します。 文字列を単一のパラメーターとして受け取り、結果を返す関数を作成します。 仕様 この場合、文字列とは、選択した言語の文字列に似た構造(バイト配列、文字配列、文字列など)を意味します。 母音は a, e, i, o, u 指定された文字列には1 <= n <= 10単語があり、各単語は1 - 30文字間の長さを含みます。 すべての文字は小文字であり、単語は常にスペースで区切られます。したがって、入力は文字で構成されます[a-z ] 重要度の順にルールを適用します。 単語が分割されたら、単語の右半分から再び始めます。 音節化のルール、重要度順 2つの連続する同じ母音は1つとしてカウントされます(つまりfeet、母音は1つだけですがbeat、finding2つあります)。すべての音節には1つの母音があるため、各母音には1つの音節があります。 単語全体に 4文字しか含まれていない場合は、変更せずに返します。(残りの単語はこれをスキップします) 単語に母音が1つしかない場合は、単語を変更せずに返します。 単語に2つの連続した母音がある場合、それらを分割します(つまりdiaspora-> di-as-po-ra) 2つ以上の子音が(同じまたは異なる)2つの母音の間に来るsis-ter場合、子音部分がckである場合を除き、最初の子音の後に分割します(つまり、その場合、その後の単語を分割します)。(つまりnickel-> nick-el) a yが2つの母音の間にある場合、その単語をその後に分割します(例paying-> pay-ing)。 1つの子音が2つの母音(同じまたは異なる)の間に来る場合、子音の前で分割します(つまり、dra-gon) 分割できない場合は、単語を変更せずに返します。 これらのルールは問題なく再帰的に適用でき、発音テーブルを必要としないため、これらのルールを選択しました。したがって、それらは正確ではなく、たとえばルール5はしばしば正しくありません。ただし、一般的な場合はそうです。 例 In: hello world Out: hel-lo world In: have a nice day …
11 code-golf 

1
角型の二次剰余検定のためのベースの最小カバー
チャレンジ 与えられた非負整数nが完全な正方形であるかどうかを決定的に決定するために、テーブルルックアップで二次剰余のセットをテストできる基底の最小カバー(モジュラスなど)を見つけます。基底はすべて、nの最大値の平方根以下でなければなりません。 与えられたカテゴリnの最小のベースセットを持つ答えが課題に勝ちます。(これは、複数の勝者が存在する可能性があることを意味します。)nのカテゴリは次のとおりです。 Category Maximum allowed n Maximum allowed modulus/base ------------- -------------------- ---------------------------- 8-bit values 255 15 16-bit values 65535 255 32-bit values 4294967295 65535 64-bit values 18446744073709551615 4294967295 等しいカーディナリティを持つ2つのセットとの同点の場合、同点は、シーケンスの早い段階で非正方形を検出する能力の高いセットに行きます。 完全なカバーが見つからない場合(32ビットおよび64ビットのカテゴリに該当する可能性が高い)、勝者は、統計的にまたは証明可能に、非正方形の最も高い割合を(誤ってせずに)除外する一連のベースになります正方形を非正方形として報告する)。不完全なカバーについては、以下をご覧ください。 バックグラウンド 多くの数論的応用では、ある数nが完全な正方形(0、1、4、9、16、25、36、49、64、81、100など)であるかどうかが問題になります。かどうかを試験する一つの方法は、N正方形であるが、丸みを帯びたダウンの平方根かどうか、あるフロア(√N)²= N、かどうかテストすることであるN乗場合、バック与えるN。たとえば、floor(√123)²=11²= 121、これは123ではないため、123は正方形ではありません。ただし、floor(√121)²=11²= 121なので、121は正方形です。この方法は、特にハードウェアの平方根演算が利用可能な場合に、小さい数でうまく機能します。しかし、大きな数(数百または数千ビット)の場合、非常に遅くなる可能性があります。 直角度をテストする別の方法は、二次剰余表を使用して非正方形を除外することです。たとえば、基数10のすべての正方形には、0、1、4、5、6、または9のいずれかの最終(1桁)桁が必要です。これらの値は、基数10の2次剰余のセットを形成します。 -10の数字は0、1、4、5、6、または9で終わります。正​​方形である可能性があることがわかっているため、さらに調査が必要です。しかし、2、3、7、または8でベース10数が終了する場合は、あなたがすることができ、特定のそれがあることではないの正方形。 それでは、別のベースを見てみましょう。基数8のすべての正方形は、0、1、または4で終わる必要があります。これは、8つの可能性のうち3つにすぎないため、乱数が37.5%である可能性があります。これらはベース10が与えるものよりもはるかに良いオッズです。(そして、8を底とするモジュラス演算は、10を剰余とする除算である10を底とするモジュラスとは対照的に、単純に論理AND演算であることに注意してください。) さらに良い基盤はありますか?まあ、はい、実際に。ベース120には18の可能性(0、1、4、9、16、24、25、36、40、49、60、64、76、81、84、96、100、および105)があり、15%おそらく正方形になる可能性。また、ベース240はさらに優れており、可能性は24のみであり、正方形になる可能性は10%にすぎません。 しかし、単一のベースだけでは、直角度を決定的に決定することはできません(テストされる最大数より大きくない限り、それは著しく非実用的です)。単一の塩基だけでは、直角度のみを除外できます。直角度を最終的に検証することはできません。慎重に選択された基底のセットのみが、連携して動作し、整数の範囲全体で直角度を最終的に検証できます。 それで、質問は次のようになります:角型または非角型の決定的な推論を一緒に許可する最小のカバーを形成する基底のセットは何ですか? 正しいが最小限ではないカバーの例 カバー16ベースのカバー{3、4、5、7、8、9、11、13、16、17、19、23、25、29、31、37}は、すべての 16ビット値は0〜65535です。しかし、少なくとも1つの15ベースのカバーが存在し、これも簡単に発見できるため、最小限のカバーではありません。実際、おそらく6〜7塩基の非常に小さなカバーが存在する可能性があります。 しかし、説明のために、この16ベースのカバーセットを使用してnのサンプル値をテストする方法を見てみましょう。上記のベースのセットの2次剰余のセットは次のとおりです。 Base m Quadratic residue …

16
最短最長増加サブシーケンスコード
挑戦は最も長く増加しているサブシーケンスを見つけるために最も短い実装を書くことです。 例:Sをシーケンス1 5 7 1 8 4 3 5 [Sの長さ= 8]とする 長さ0のサブシーケンスが1つあります[増加するとみなします] 長さ1の6つのサブシーケンス{1,5,7,8,4,3} [これらはすべて増加していると見なされます] (7 * 8)/ 2の長さ2のサブシーケンス[ただし、重複を削除します]、増加するサブシーケンスは強い黒で表示されます。 { 15,17、11、18,14,13,57、51、58、54,53,55,71、78、74,73,75,84,83,85,43、45,35 } [厳密に増加するサブシーケンスにのみ関心があることに注意してください] [ シーケンス内の要素の順序は変更できないため、シーケンス例にはサブシーケンス[37]はありません] 1578である長さ4のサブシーケンスが増加していますが、長さ5のサブシーケンスはありません。したがって、最大の増加サブシーケンス= 4の長さを考慮します。 入力: a 1 a 2 ... a N (シーケンス) すべての数値は10 3 N <= 1000 より小さい正の整数です 出力: 入力シーケンスの最も長く増加するサブシーケンスの長さを示す1つの整数。 sample input(1) 1 2 4 2 5 …
11 code-golf 

4
書式を維持しながらhtmlをn文字に減らします
ほとんどすべての言語には、特定の位置で文字列を分割できる組み込み関数があります。ただし、文字列にhtmlタグがあるとすぐに、組み込み関数は正しく機能しません。 あなたの仕事は、n番目の文字で文字列を分割するプログラムまたは関数を書くことですが、htmlタグの文字はカウントせず、有効なhtmlを出力します。プログラムはフォーマットを保持する必要があります。htmlタグの外側のスペースは、必要に応じてカウントされる場合とカウントされない場合がありますが、保持する必要があります。ただし、連続する複数のスペースを単一のスペースに交換できます。 入力: 文字列 分割する位置(0ベース) これらは、プログラムまたは関数の引数として使用するか、標準入力から読み取ることができます。 出力:返されるか、標準出力に書き込まれる分割文字列。 入力は有効なHTMLであり、エンティティ(など )は含まれません。文字制限の後に開かれるタグは、出力から除外する必要があります(最後の例を参照)。 例: 入力:<i>test</i>、3 出力:<i>tes</i> 入力:<strong><i>more</i> <span style="color: red">complicated</span></strong>、7 出力:<strong><i>more</i> <span style="color: red">co</span></strong> 入力:no html、2 出力:no 入力:<b>no</b> <i>html root</i>、5 出力:<b>no</b> <i>ht</i> 入力:<b>no img</b><img src="test.png" />more text、6 出力:<b>no img</b> 任意の言語および指定された言語の標準ライブラリを使用できます。これはコードゴルフで、最短のプログラムが勝ちます。楽しんで!

2
英語の句読点規則を適用する
ディクテーション作成アプリのコードを書くために雇われました。このアプリは、音声入力から音声入力を取得し、それを単語として解析し、画面に書き留めます。 経営陣はプロジェクトのパワーを本当に信用していません。残念ながら仕事をするのではなく、一日中じっと座ってゴルフをすることで知られています。適切にフォーマットされた文への句読点が散在した文。「適切にフォーマットされた」は以下で定義されます。 Sentenceは入力の文字列です。Wordは、連続する非スペース文字のグループです。句読点は、最初の文字がである単語です^。 単語の最初の文字が小文字ではない場合、単語は大文字になります(大文字の単語は正規表現に一致します/[^a-z].*/)。 文の最初の言葉は大文字にする必要があります。 A ^COMMAはコンマ文字,であり、スペースが続きますが、前にはありません。aaa ^COMMA bbbになりaaa, bbbます。 A ^COLONはのようなカンマです:。 A ^SEMICOLONはのようなカンマです;。 A ^PERIODはのようなカンマです.。aに続く単語は^PERIOD大文字にする必要があります。 A ^BANGは次のような期間です!。 A ^DASHはダッシュ文字-であり、前後にスペースがあります。 A ^HYPHENもダッシュ文字です-が、前後にスペースはありません。 An ^EMDASHは、ハイフン(ダッシュではありません!)で、スペルがあります--。 アンは^OPENQUOTE引用符で"スペース以下の直前ではなく、を持っています。に続く単語は^OPENQUOTE大文字にする必要があります。の^OPENQUOTE前に句読点ではない単語がある場合は^COMMA、その単語との間にを追加し^OPENQUOTEます。^OPENQUOTE次の単語を大文字にする句読点がanの前にある場合、次の単語にスキップし^OPENQUOTEます。 A ^CLOSEQUOTEは、,"後にスペースが続くが前にはない有向グラフです。場合^CLOSEQUOTEによって先行される^COMMA、^PERIODまたは^BANG、句読点が消えていることを^CLOSEQUOTE綴られている,"、."または!"それぞれ。句読点が消えて大文字が指定された場合、その大文字は引き続き次の使用可能な単語で発生する必要があります。 完全な最終結果の最初のスペースまたは末尾のスペースは削除する必要があり、行内の2つ以上のスペースの文字列はすべて単一のスペース文字に折りたたむ必要があります。 上記で説明されていないケース(^COMMA ^COMMAまたは^SEMICOLON ^CLOSEQUOTEまたは^UNDEFINEDPUNCTUATION)は、整形式入力では発生しないため、未定義の動作です。 開発チームは次のことを通知します。 プロジェクトは[あなたの言語はこちら]の言語で書かれています。Android/ iPhone用のアプリの場合は、できるだけスペースをとらないように、できるだけ短くする必要があります。あなたはそれがアプリ開発の仕組みではないことを説明しようとしますが、彼らは耳を傾けません。しかし、ちょっと、偶然です!あなたは[ここの言語]で素晴らしいゴルファーです! アプリにはWebアクセス許可がありません。また、このフォーマットを実行するライブラリはインストールされません。おそらく、あなたの言語に正規表現ライブラリが存在する場合は、それが必要だと思われる場合は、チームリーダーにそのライブラリを許可するよう説得することができます。 二重引用符または単一引用符を適切に使用するネストされた引用符のサポートは、アプリの今後のバージョンで予定されていますが、現在作業中のバージョンでは予定されていないので、心配しないでください。 経営陣はテスト駆動開発の大ファンなので、開発チームはすでに不幸なキーボードモンキーにプログラムの一部のテストを作成してもらいました:(読みやすくするために改行を追加し、スペースとして扱います) 入力: hello ^COMMA world ^BANG 出力: Hello, world! 入力: once upon a time …

2
スチームパンク:Clackerアニメーション
過小評価されているスチームパンク小説The Difference Engineでは、映画館に相当するものが、機械的に反転できるタイルで表示されるピクセル化された動画を配信しました。これらのタイルの動きを調整するための制御エンジンは、パンチされたカードのデッキによって制御される大きなノイズの多いマシンでした。 あなたの仕事は、そのようなエンジンをエミュレートし、入力ファイルで指定されたピクセル化されたアニメーションを表示することです。入力は固定幅形式の行で構成されますが、行末を示すのに便利なものは何でも想定できます。形式は次のとおりです。 SSSSYYxxXXOA SSSS: 4 digit sequence no. may be padded by blanks or all blank YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1) xx: the starting x coordinate XX: the ending x coordinate O: hexadecimal opcode A: argument (0 or …

16
ビット幅nのグレーコードリストを教えてください
グレイコードはビット幅の2進数のシーケンスでnあり、連続する数字は1ビットのみ異なります(出力例を参照)。 参照 入力例: 3 出力例: 000 001 011 010 110 111 101 100 ノート: この質問はだまされているようですが、そうではありません。なぜなら、その質問はコードゴルフではなく、異なる出力を要求するからです。ただし、その答えを確認するのに役立ちます。 n入力を含む変数を想定できます。
11 code-golf  binary 

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 …

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