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

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

2
タオルを折ります!
私はどこかで、技術ではまだできないことの一つに、折り畳み式タオルがあると聞きました1。そのため、このステートメントが偽であることを証明するのは今やあなたの仕事です! 入力として文字列を指定すると、次のように長方形(タオル)で構成され、各タオルを半分に2回折ります。例えば: +------+ +------+ +--+ | | | | | | | | | | | | | | -> +------+ -> +--+ | | | | | | +------+ タオルを折り畳むとき、最初に折り畳まれ、次に左から右に折り畳まれていることに注意してください。プログラムもこの動作を模倣する必要があります。また、テストケースでは、タオルは同じ場所にありますが、折りたたまれています。 ルール: 入出力の標準的な方法。 標準の抜け穴が適用されます。 入力と出力は文字列でなければなりません。 タオルが互いに対して適切な場所にある限り、出力では何でも問題ありません。 タオルの各辺の長さは常に2で割り切れると仮定できます。 入力として渡されるタオルは常に長方形になります。 タオルは常に分離されますが、可変量で分離される場合があります。 code-golfなので、最短のコードが勝ちます! テストケース: Input: +------+ | | | | | | | …

9
文字化けした電話番号
ボイスメールメッセージをどのように受け取り、その人の接続がうまくいかなかったことは知っていて、電話をかける方法を見つけようとしていますが、それが「5」か「8」かはわかりません前記? それがこの挑戦です。 良いニュースは、発信者が番号を2回読み上げたことですが、両方の場所で文字化けしています。 プログラムは次のように入力する必要があります。 5551231234 / 5551231234 最初の10桁が電話番号がボイスメールで最初に言われ、2番目のセットが2回目に言われたときです。のみ...次のようになります。 555?ABC1_36? / 55?522_1?234 数字に疑問符が続くことは、それがその数字の最良の推測であることを意味します(例えば、「5?」は「おそらく5、繰り返しと比較」を意味します)。 アンダースコアは、既知の欠落している数字を示します。これは、静的によってファジングされすぎて解読できないものです。 文字はそれだけです:文字。それらをそれぞれの数字として扱います ABC-> 2、DEF-> 3、GHI-> 4、JKL-> 5、MNO-> 6、PQRS-> 7、TUV-> 8、WXYZ-> 9 サンプル入力はすべて大文字を使用します(ToUpper()呼び出しは安全に省略できます) 言語が小文字でうまく機能する場合は、入力に小文字を自由に使用し、ToLower()呼び出しを省略できます。あなたの答えに注意してください。 さらに、次の判断呼び出しを想定できます。 5? / _ -> 5 //5 is the best guess we have, use it 5? / 5? -> 5 //uncertain, but matching 5? / …
19 code-golf  cipher 

2
アイランドゴルフ#2:風変わりな隠者
これは、一連のアイランドゴルフチャレンジの2番目です。前の挑戦 2つの隠者が砂漠の島に到着しました。彼らは孤独を求めてやって来たので、彼らはお互いにできるだけ遠くに住みたいと思っています。彼らは彼らの間の歩行距離を最大にするために彼らの小屋をどこに建てるべきですか? 関連読書 入力 入力は、土地と水を表す2つの文字で構成される長方形のグリッドになります。以下の例では、土地はで#あり、水はです.。ただし、任意の2つの異なるキャラクターを使用できます。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 常に少なくとも2つの土地タイルがあります。土地のタイルはすべて連続しています(つまり、島は1つだけです)。水タイルも連続しています(つまり、湖はありません)。グリッドの外側の境界線はすべて水タイルになります。ランドタイルは斜めに接続されません。つまり、次のようなものは表示されません。 .... .#.. ..#. .... 出力 コードは、2つの小屋の場所がマークされた同じグリッドを出力する必要があります。以下の例では、小屋の場所にXのマークが付けられていますが、土地や水のキャラクターと区別できる限り、任意のキャラクターに置き換えることができます。 小屋の場所は、それらの間の歩行距離を最大化するように選択された2つの土地タイルでなければなりません。歩行距離は、2つのポイント間の完全な陸上の最短経路の長さとして定義されます。ランドタイルは、水平方向または垂直方向に隣接していると見なされますが、斜めではありません。 上記の島の可能な解決策: ........... ...X#...... ..#####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... これらの2つのポイント間の歩行距離は11で、この島の任意の2つのポイント間の最大距離です。別のdistance-11ソリューションがあります。 ........... ...##...... ..X####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... 詳細 あなたの解決策は、完全なプログラムまたは機能かもしれません。いずれかのデフォルトの入力と出力の方法が許容されています。 入力と出力は、複数行の文字列、文字列のリスト、または2D配列/文字のネストされたリスト/単一文字の文字列です。出力には、(オプションで)単一の末尾改行がある場合があります。上記のように、代わりに3つの異なる文字#.Xを使用できます(使用する文字を提出時に指定してください)。 テストケース A.ユニークな小屋の配置がある島: .... .##. .... …

3
大きなベース、小さな数字
J言語には、定数を指定するための非常に愚かな構文があります。特に、1つのクールな機能、つまり任意のベースで記述できる機能に焦点を当てたいと思います。 任意の数字と英数字の文字列を記述XbYするXとY、JはYベースX番号として解釈されます。ここで0through 9は通常の意味を持ち、throughは10〜35 aをz表します。 そして、私がX数字を言うとき、私は数字を意味します。この質問の目的のためにX、正の整数に制限しますが、Jでは、負の数、分数、複素数など何でも使用できます。 奇妙な事はことであるあなただけの0から35までの数字を使用することができ、使用可能な記号のあなたのコレクションが構成されているので、お使いのベース-どんな数字としてのみ 0-9とAZの。 問題 この方法を使用して、2,933,774,030,998のようなゴルフマジックナンバーを支援するプログラムが必要です。まあ、大丈夫、そんなに大きくないかもしれません、私はあなたに簡単に行きます。そう... あなたの仕事は(通常大きい)進数を取るプログラムまたは機能記述することですN1及び4,294,967,295(= 2との間に32の形の最短表現入力として-1)、及び出力/戻りXbY、X正の整数であるとYされています英数字(0〜9およびa〜z、大文字と小文字を区別しない)で構成Yされ、X等しいと解釈される文字列N。 すべての表現XbY表現の長さがの桁数以上である場合、代わりにN出力しNます。他のすべての関係では、最短表現の空でないサブセットを出力できます。 これはコードゴルフですので、短いほど良いです。 テストケース Input | Acceptable outputs (case-insensitive) ------------+------------------------------------------------------- 5 | 5 | 10000000 | 79bkmom 82bibhi 85bgo75 99bauua 577buld | 620bq9k 999baka | 10000030 | 85bgo7z | 10000031 | 10000031 | 12345678 | 76bs9va 79bp3cw 82bmw54 86bjzky 641buui …

4
フェルマーの因数分解ヘルパー
半素数を因数分解したい。この課題の目標は、u v NをFermatの方法で簡単に因数分解できるように2つの小さな整数uとvを見つけ、Nの因子を簡単に差し引くことです。NNNuuuvvvu v NuvNuvNNNN タスク 半 素数と正の整数kが与えられた場合、xとyを次のように定義します。NNNkkkバツバツxyyy Y=X2-KNX = ⌈ K N−−−√⌉バツ=⌈kN⌉x=\lceil\sqrt{kN}\rceil y= x2− k Ny=バツ2−kNy=x^2-kN ステップ#1- kを見つけるkkk まず、yが平方数(別名完全平方)になるように、最小値を見つける必要があります。kkkyyy これにより、フェルマーの因数分解法の 1回の反復でを因数分解できます。より具体的には、これはすぐにつながります:k NkNkN k N= (x + y√)× (x − y√)kN=(バツ+y)×(バツ−y)kN=(x+\sqrt{y})\times(x-\sqrt{y}) (更新:このシーケンスは現在A316780として公開されています) ステップ#2- kの因数分解kkk 次に、次のような2つの正の整数およびvを見つける必要があります。あなたはあなたはuvvv c u = x + √u v = kあなたはv=kuv=k dはV=X- √c u = x + …

8
ペンローズトライアングルコードゴルフ
ペンローズの三角形もペンローズのtribar、または不可能tribarとして知られているが、不可能なオブジェクトです。 このチャレンジの目標は、可能な限り少ないバイト数でペンローズの三角形を表示することです。 ソース:ウィキペディア ルール: ペンローズトライアングルは、生成後にデジタル表示する必要があります。 画像を直接表示せずに、Wikiページの上の画像(上記のソース)と同じように見える必要があります。 同じ配色の同じ画像は、少なくとも400x400サイズで表示する必要があります。 できるだけ正確である必要があります。 頑張って楽しんでね!

18
シンプルなラインエディターを作成する
In:改行なしの文字列* ユーザーが行を編集および送信できるようにします Out:変更された文字列(オプションで末尾に改行が付きます) 行エディタは、少なくともユーザーに以下を許可する必要があります。 表示カーソルを左右に移動します カーソル位置に文字を挿入および/または上書きする カーソル位置の文字を削除します 新しい文字列を送信します。つまり、編集を中止すると、変更された文字列が返される/印刷される/表示される/保存される…(他のテキストなし) 感謝しますが、必須ではありません: コードの説明。 プログラム/機能を実証できるオンラインテストサイトへのリンク 使用法を示すアニメーション画像(たとえば、TIOは対話性を許可しません) 注意: キーバインディングは提案のみです GUIまたは視覚的なスタイリングは必要ありません 例 以下では、カーソルはで示されてい_ます。 In: Just some text ユーザーに編集を許可: Just some text_ ユーザーが←(左矢印キー)を9回 Just ̲some text 押すユーザーがDel4回 Just ̲ text 押す ユーザーが押すユーザーがOutを押す:any Just any_text Enter Just any text In: Remove me ユーザーに編集を許可: Remove me_ ユーザーがBackspace9回 _ 押すユーザーがOutを押す:(空の文字列)Enter …

5
情報が限られたチェス分析
この課題では、チェスの特定のゲームに関する限られた量の情報が提供され、ゲームに勝った人を予測する必要があります。 次の2つのデータセットが提供されます。 個数(ま​​だ残っている個数) ボードの色(ボード上のピースの色) さらに重要なことは、あなたはしていない部分が配置されている場所を知っています。誰が勝つと思うかを決める必要があります。 ゲームは、2010年から現在までのPGNMentorにリストされているすべてのイベントから選択されます。私は勝ち負けで終わる各ゲームからすべてのボードポジションの10%を選択しました。ボードの位置は、常にゲーム内で少なくとも30の動きになります。テストケースはこちらにあります。(白の勝利が最初にリストされ、その後に黒の勝利が続きます) 入力 ピースカウントは、king、queen、ook r、k night、bishop、またはpawnの各ピースの文字で構成される文字列になります。小文字は黒、大文字は白を意味します。ボードは、64文字(8行8列)の文字列です。Bは黒い部分をW表し、白い部分を.表し、空のスポットを表します。サンプル: W..WB......W.BB....W..B..W.WWBBB..W...B....W..BBWWW...BB.W....B.,BBKPPPPPPPQRRbbkpppppppqrr 次のボードを表します ...B.BB. .BBBBBBB .B.B.... B..W.... WWWW.W.. ....W.W. ...W..WW W.....W. そして両方の色が2人の司教、1人の王、7人のポーン、1人の女王、2人のルークを持っているところ 出力 白が勝つ可能性を判断するには、0〜1(両端を含む)の浮動小数点数を返す必要があります。サンプル: 0.3 (30% chance that white wins) 詳細: 各テストケースには1ポイントの価値があります。あなたのスコアは1 - (1-Output)^2、白が勝った1 - (Output)^2場合、または黒が勝った場合になります。 最終スコアは、すべてのテストケースの合計になります。 提出物が入力をハードコーディングしていると感じた場合、テストケースを変更する権利を留保します。(変更した場合、SHA-256ハッシュが使用されます893be4425529f40bb9a0a7632f7a268a087ea00b0eb68293d6c599c6c671cdee) プログラムは、テストケースを個別に実行する必要があります。あるテストケースから次のテストケースに情報を保存しません。 機械学習を使用している場合は、データの最初の80%でトレーニングし、残りの20%を使用してテストすることを強くお勧めします。(または、使用するパーセンテージ)。データでゲームを複数回使用していますが、同じゲームを順番に組み合わせています。 更新:テストと学習の目的で、100万を超えるテストケースを追加しました。githubリポジトリのサイズ制限により、これらは黒と白の部分に分割されます。 頑張って楽しんでね!

16
フロートをモッズ!
3Dモデリングソフトウェアは、主にUVマッピングを使用してテクスチャを3Dオブジェクトにマッピングします。UとVの両方の有効な値は、通常、包括的[0..1]範囲にあります。 チャレンジ 非常に使いやすい新しい3Dモデリングソフトウェアを購入しました。ただし、1つの問題があります。UV値からランダムな整数を加算または減算します。あなたの仕事は、入力値を変更して包括的な[0..1]範囲の浮動小数点値を取得するプログラムまたは関数を作成することです。 結果のフロートは、元と同じ小数部分を持ち、可能な限り元に近いはずです。両方のため0と1出力範囲にある、以下の任意の整数0又は0に変更する必要があり、任意の整数1以上を1に変更しなければなりません。 JavaScriptのアルゴリズムの例: function modFloat(input) { while (input < 0 || input > 1) { if (input < 0) input += 1; if (input > 1) input -= 1; } return input; } ルール 入力は単一の整数または浮動小数点値です。回答で指定されている限り、任意の合理的な形式が許可されます。 出力は、float値の10進表現でなければなりません。 出力精度は、少なくとも入力と同じ小数点以下である必要があります。 末尾のゼロは許可されます。 整数入力に対して出力するコードを0または1のいずれかが正しく選択していることを確認してください。 テストケース Input | Output ------------+--------- -4 | 0 -1 …
19 code-golf 

3
メタ放射線硬化剤
バックグラウンド このサイトでは、プログラムを「放射線強化」するように要求する質問が時々あります。つまり、どのバイトが削除されても、プログラムは1つまたは複数のバイトの削除に耐えることができなければなりません。 プログラミングの課題で頻繁に設定されるタスクでは一般的であるように、これらの課題に特に優れた言語を作成したいのは自然なことです。これを行うための自然な方法は、破損を元に戻すことができるメタデータを追加することであることを考えると、実際には設計が必要な言語ではなく、エンコードです。アイデアは、各入力をバイトのシーケンスに変換することで、シーケンスがわずかに照射されても、元の入力を抽出できるようにします。 タスク 次のような2つのプログラムまたは関数、E(エンコーダー)およびD(デコーダー)を記述します。 Eは、オクテットのシーケンス(この仕様では「入力」と呼びます)と非負整数の「放射」の2つの引数を取り、「エンコーディング」のオクテットのシーケンスを出力します。 Dは1つの引数、オクテットのシーケンス( " encdng ")を取り、オクテットのシーケンス " 再構成 " を出力します。 EとDの両方を実行する場合(encdng、エンコーディングから放射要素を削除することで選択されるDへの入力(必ずしも連続的ではない))、encdngを形成するために削除された文字に関係なく、再構築は入力と等しくなります。 明確化 あなたが機能を提出する場合は、それらを呼び出す必要はありませんEとしますD。言語に最適な名前を​​選択できます。 「オクテット」は基本的に0から255までの整数であり、整数、文字、または言語に適したものとしてエンコードできます。 EとDは完全に決定的でなければなりません(つまり、同じ入力を与えると常に同じ出力が生成されます。「入力」はEの入力と放射、またはDのencdngとして定義されます)。特に、Eはサイドチャネルを介してDに情報を伝達しない場合があります。 削除は、シーケンスの1つの要素を削除することにより実行されます。エディターでシーケンスを開き、カーソルを任意のポイントに置き、Backspaceキーを押すことを考えてください。要素が複数回出現する場合、要素のコピーが1つだけ削除される可能性があります(つまり、同じオクテットの他のインスタンスは影響を受けません)。 スコアはかなり短い入力に基づいてのみ計算されますが、プログラムは入力および放射に対して理論的に機能する必要があります。特に、inputにどのオクテットが現れても機能しなければなりません。(申し訳ありませんが、入力に表示されないことがわかっている印刷できない文字を使用したい人は、入力が非圧縮性であることを確認する必要があります。 2つの関数を定義する1つのファイルを送信できます。それぞれ関数を定義するか、両方とも完全なプログラムである2つのファイル。または3つのファイル。2つはそれぞれDおよびEを実装します(完全なプログラムであるか関数を定義することにより)。3つ目はDとEの両方に共通のヘッダーファイルまたはライブラリです。使用する送信形式に関係なく、プログラミング言語の実装は、ファイルの場所などの引数を追加せずに両方のプログラムを理解できる必要があります(または、標準の規則に従って、通常とは異なる方法で実装を呼び出すためのバイトペナルティを支払う必要があります)。 勝利条件 各々に対して長さと放射線、聞かせてF(長さ、放射線の)の合計の長さである符号化全て秒その対応する入力の長さと長さ、及び所定の放射。(つまり、f(長さ、放射)= 入力の長さは長さ length(E(入力、放射))になります。)次に、g(長さ、放射)がf(長さ、放射)÷256 長さ。言い換えれば、gは入力の長さと放射線強化の要件に対するエンコードされた出力の平均長です。(理論上はこれをブルートフォースで計算できますが、そのようにスコアを計算するのには信じられないほど時間がかかるでしょう。不明な点があります。おおよそのスコアを投稿してください。他のエントリが同様のスコアを投稿した場合、あなたまたは他の誰かがより深く計算することができます。) あなたのスコアはの和に等しいグラム(長さ、放射線のすべてのための)放射範囲の0〜9まで含めて、すべての長さ 99包括範囲0で、プラス(主にハードコーディングを避けるために、または行く競争を維持する場合誰かが数学的に完璧なエンコーディングを発見します。これは、そうでなければ最小限の要因である可能性があります)チャレンジへの提出の合計バイト数(および異常なインタープリターフラグまたは特定のファイル名を要求するようなものに対する標準ペナルティ)。勝者は、最も低いスコアのエントリです(最初に送信するエントリによってタイブレークされます)。

23
ディーラーがデッキを再構築するのを手伝います
ディーラーはずさんで、自分のデッキにどんなカードが入っているのか、どのカードが欠けているのかわからなくなりました。 完全なデッキは、52枚のトランプで構成されています。 デッキの各色(ハート、ダイヤモンド、スペード、クラブ)には以下が含まれます。 数字[2-10] ジャック 女王 王様 エース 仕事 プログラムは、改行が読み取られるまで、STDINからデッキの内容を読み取ります。入力は「nX nX nX nX」などの形式になると想定できます。ここで、 n-[2-10]の間の任意の数、または「J」、「Q」、「K」または「A」のいずれか。(数字以外の文字についてのみ大文字と見なすことができます) X-次のいずれか:「H」、「D」、「S」、「C」(大文字のみと仮定できます) どこで: 「J」=ジャック 「Q」=クイーン 「K」=キング 'A' =エース そして 「H」=ハート 'D' =ダイヤモンド 'S' =スペード 「C」=クラブ 入力に重複がないと仮定できます。 プログラムは、入力と同じ方法( "nX nX nX")でデッキの欠落カードをSTDOUTに印刷するか、52枚すべてのカードが提供されている場合は「欠落カードなし」を印刷する必要があります。カードの出力の順序に制約はありません。 入力例: 9H AH 7C 3S 10S KD JS 9C 2H 8H 8C AC AS AD 7D 4D …
19 code-golf 

5
ネックレス分割問題
バックグラウンド 3Blue1Brownのネックレス分割問題(または盗難ネックレス問題)とBorsuk-Ulam定理との関係に関する最近のビデオに触発されました。 この問題では、2人の泥棒がいくつかの異なる種類の宝石で構成される貴重なネックレスを盗みました。各タイプの宝石は偶数個あり、泥棒はそれぞれのタイプの宝石を2つに均等に分割したいと考えています。キャッチは、ネックレスをいくつかの連続したセグメントに分割し、それらの2つの間にセグメントを分配することによってそうしなければならないということです。 ここで示される4つの宝石の種類の一例でありS、E、D、およびR(それぞれ、サファイア、エメラルド、ダイヤモンド、ルビーのために)。ネックレスは次のようだとしましょう: [S,S,S,E,S,D,E,R,S,R,E,S,S,S,D,R,E,E,R,E,D,E,R,R,D,E,E,E] あり8サファイヤ、10エメラルド、4ダイヤモンド、そして6ルビーは。ネックレスは次のように分割できます。 [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] 次に、1番目の泥棒に1番目、3番目、5番目のセグメントを、もう1つの泥棒に2番目と4番目のセグメントを与えると、それぞれが4サファイア、5エメラルド、2ダイヤモンド、3ルビーになります。 [S], [S,E,S,D,E,R,S], [R,R,D,E,E,E] [S], [R,E,S,S,S,D,R,E,E,R,E,D,E], 0-indexing を使用すると、これらのカットはインデックスで発生します[1,2,9,22]。 ゴール そのような公正な分割は、多くのn場合、常にn宝石の種類の数であるカットを使用して行うことができます。あなたの仕事は、入力としてネックレスを取り、最小のそのような分割(最少のカット数)を出力する完全なプログラムまたは関数を書くことです。 入力 入力は任意の便利な形式にすることができます。ネックレスは一連の宝石である必要があります。たとえば、整数のリスト、宝石の種類を表すキーを持つ辞書、およびインデックスのリストである値。必要に応じて、ネックレスの長さや宝石の種類の数を含めることもできますが、他の入力を行わないでください。 入力ネックレスが有効であるとみなすことができます。特定の種類の宝石の数が奇数である場合や、ネックレスが空の場合に対処する必要はありません。 出力 繰り返しますが、出力は任意の便利な形式にすることができます。たとえば、セグメントのリスト、カット位置のリスト、2つの泥棒を表すキーを持つ辞書、セグメントのリストである値など。セグメントは、開始インデックス、終了インデックス、連続インデックスのリスト、宝石のリスト、それらの長さ、などあなたは使用することができます0-または1-インデックスを。順序がフォーマットにとって重要でない場合、出力は任意の順序になります。上記の出力をいくつかの異なる形式で示します。 list of segments: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] list of cuts: [1,2,9,22] list of lengths: [1,1,7,13,6] dictionary: {'thief1' : [(R,R,D,E,E,E),(S),(S,E,S,D,E,R,S)], 'thief2' : [(S),(R,E,S,S,S,D,R,E,E,R,E,D,E)]} セグメントのリスト(泥棒の間で交互になっているセグメント)と長さのリスト(セグメントを識別するため)では順序が重要ですが、カットのリストや辞書では重要ではありません。編集:グレッグ・マーティンは、2つのカットで公正な分割が得られるため、これらは有効な出力ではないと指摘した。 テストケース [1,2,1,2,1,3,1,3,3,2,2,3] -> [[1,2,1],[2,1,3,1],[3,3,2],[2,3]] [1,1,1,1,2,2,3,3,3,3,3,3] -> [[1,1],[1,1,2],[2,3,3,3],[3,3,3]] [1,1,1,1,1,1,1,1,1,1,1,1] …

16
増分暗号
このタスクはかなり単純で、3つの異なる「演算子」文字を使用します。あなたの仕事は、使用してそれをエンコードするには、次のタスクを実行し、文字のシンプルなシーケンスを与えられています<、>、*。大文字または小文字を使用することもできますが、両方を処理する必要はありません。 暗号の説明 暗号は簡単です。インクリメントおよびデクリメント操作を使用し*て、「送信」機能として、文字1から末尾の文字まで移動します。「増分」の演算子はになり>、「減分」はになります<。 単語を使用した例adbc: 単語の最初の文字から始めて、その文字を出力します。 a 次に、>and <(brainfuckなど)を使用して、現在の文字を次の文字に「ナビゲート」します。a>その結果a、手紙が1だけ「上がる」ことになりbます。あなたは手紙を下げるので、a<結果になりzます(折り返します、あなたは常に操作の数が最も少なくなる方向を選択する必要があります)。 正しいminimalizedの組み合わせ出力した後<と>出力Aを*、我々は次の文字に達したことを示すために。 エンコードする手順adbcは次のとおりです。 a # a a>>>* # ad a>>>*<<* # adb a>>>*<<*>* # adbc 例 エンコードする手順azaは次のとおりです。 a # a a<* # az a<*>* # aza その他の例: "abcdef" = "a>*>*>*>*>*" "zyaf" = "z<*>>*>>>>>*" "zzzzzz" = "z*****" "z" = "z" "zm" = "z<<<<<<<<<<<<<*" or …
19 code-golf  cipher 

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
Brachylogでのゴルフのヒント
Brachylogは、最近、コードゴルフで目立つようになり始めている言語です(そして、より簡潔な構文のメジャーアップデートを受け取ったばかりです)。Prologのように、問題がどのように見えるかを十分に正確に説明するだけで問題を解決できることが多いという利点があります。これは、適切な種類の課題では、トップゴルフ言語 Brachylogでゴルフをする(つまり、可能な限り短いプログラムを書く)ためのヒントはありますか?これは主に、幅広い言語に適用できるアドバイスではなく、特にBrachylogに固有のアドバイスを探しています。(Prologでのゴルフのヒントも参照してください。ただし、Brachylog以外の言語に適用するアプリケーションの量によっては、宣言型言語でのゴルフに関するヒントがここで適切である可能性があります。)
19 code-golf  tips 

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