タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

6
2D凸包の面積
2Dユークリッド平面上の点のデカルト座標を表す整数のペアの配列/リスト/ベクトルが与えられます。すべての座標はから、重複が許可されます。最も近い整数に丸められた、これらの点の凸包の面積を見つけます。正確な中間点は、最も近い偶数の整数に丸められる必要があります。最終結果が常に正しいことを保証できる場合にのみ、中間計算で浮動小数点数を使用できます。これはcode-golfなので、最短の正しいプログラムが勝ちます。(x 、y)(x,y)(x, y)− 104−104−10^410410410^4 凸包点の組の含ま最小の凸集合である。ユークリッド平面では、任意の単一の点に対して、それ自体が点です。2つの異なるポイントの場合は、それらを含む線、3つの非共線のポイントの場合は、それらが形成する三角形などです。PPPPPP(x 、y)(x,y)(x,y) 凸包が何であるかを視覚的に説明するには、すべてのポイントを木製ボードの釘として想像してから、すべてのポイントを囲むように輪ゴムを伸ばします。 いくつかのテストケース: Input: [[50, -13]] Result: 0 Input: [[-25, -26], [34, -27]] Result: 0 Input: [[-6, -14], [-48, -45], [21, 25]] Result: 400 Input: [[4, 30], [5, 37], [-18, 49], [-9, -2]] Result: 562 Input: [[0, 16], [24, 18], [-43, 36], [39, -29], [3, …

12
魔法のモジュロ正方形
私は数論の大ファンです。数論の大きなことはモジュラー算術です。m \ mid abの場合にのみ、定義はなります。楽しいことは、累乗することです。特に、モジュラスが素数の場合です。特に、aとmが比較的素数(1以外の共通因子を共有しない)の場合、a ^ e \ equiv 1 \ mod mのような数eが存在することが証明されています。≡ Bモッドma≡bmodma\equiv b\mod mm ∣ a − bm∣a−bm\mid a-bM 1 E A E ≡ 1aaammm111eeeae≡ 1モッドmae≡1modma^e\equiv 1\mod m 例題で演習を説明します。モジュラスm = 7m=7m=7取りましょう。プログラムまたは関数の可能な出力は次のとおりです。 3 2 6 4 5 1 2 4 1 2 4 1 6 1 6 1 6 1 …

6
文字列操作インタープリター
概要 文字のみを使用して、新しい文字列操作言語が作成されました$+#-!*|@>!あなたの仕事は、できる限り少ないバイトでインタプリタを実装することです。 入力 文字列。この言語の1行です。これは、合理的な方法(stdin、関数パラメーター、コマンドライン引数など)で、または事前定義された変数として使用できます。プログラムがユーザー入力を要求する場合は、stdinから要求するすべてのユーザー入力を受け入れます。以下を参照してください。あなたはそれが有効なプログラムであると仮定するかもしれません。 出力 言語が出力するものは何でも、以下の仕様。妥当な方法(stdout、関数出力など)で文字列、または変数値を出力する必要があります。言語が明示的に出力する場合、これは stdoutに移動する必要があります。標準的な抜け穴は禁止されています。 言語仕様 処理と構文 この言語は、文字列操作のみを行うため、処理の非常に単純な形式です。空の文字列("")で始まり、各用語で変更されます。用語は、1つまたは2つの部分で構成されます。関数(下)と、場合によってはその動作を編集するパラメーター(下)が続きます。用語はパイプ(|)で区切られます。あなたはそれが空のプログラムではなく、どの用語も空ではないと仮定するかもしれません。プログラムの最後に値を出力する必要があります。 関数 以下に示すように、この言語には6つの関数しかありません。各関数は、1つまたはゼロのパラメーターを受け入れます。 + 文字列を連結します(1つの文字列パラメーターを取り、それを現在の値に連結します) ! 現在の値の文字順を逆にします(パラメータなし) * 文字列を繰り返します(1つの整数パラメーターを取り、現在の値を何回も繰り返します) - 値のすべての出現を削除します(1つの文字列パラメーターを取り、現在の値からすべての出現を削除します) $ [pseudo-]現在の値をランダムにシャッフルします(パラメーターなし) <現在の値をstdout(パラメータなしで)出力します 値 これらは関数に渡される可能性のある値であり、それらに一致する正規表現で表されます。 @[^|]*パイプ以外の文字を含む文字列リテラル。空の場合があります。 #[0-9]+ 整数リテラル >の次の行stdin。で使用する場合*、整数に変換します。 テストケース ╔════════════════════════╤═════════════╤══════════════╗ ║code │input │output ║ ╟────────────────────────┼─────────────┼──────────────╢ ║+>|!|+@hello|*> │13 │31hello31hello║ ║ │2 │ ║ ╟────────────────────────┼─────────────┼──────────────╢ ║+>|+@abcdefg|$ │hello │hcloeebafdlg ║ ╟────────────────────────┼─────────────┼──────────────╢ ║+@how …

11
ビット単位のサイクリックタグのシミュレーション
チャレンジ 既定のI / O形式の2つの文字列を指定して、次の操作を行います。 注:チャレンジでは、最初の文字列を「データ」、2番目の文字列を「プログラム」と呼びます。 プログラムを無限の文字列に変更します。無限の文字列は、プログラムが無限に繰り返されるだけです(例10--- 1010101010...)。チャレンジではこれを「無限プログラム」と呼びます データが空ではない間、無限プログラムをループしながら次の操作を実行します。 a。現在のコマンドが「0」の場合、データの左端のビットを削除します。データが空の場合、「0」は何もしません。 b。現在のコマンドが「1」の場合、データの左端のビットが1であれば、プログラムの次の文字をデータに追加します。 c。データが空でない場合、データを出力します。 テストケース データは入力の左側であり、プログラムは右側です。 100, 0 --> 00, 0 1111, 1 --> 11111, 111111, 1111111, ... 10, 011 --> 0, 0, 0 1110, 011 --> 110, 1101, 11010, 1010... ノート データとプログラムは0と1のみで構成されます 停止しないデータ/プログラムの場合、プログラムを停止する必要はありません。 データとプログラムは入力では空になりません。 複数の末尾および先頭の改行がある場合があります 標準的な抜け穴は禁止されています 任意の便利なI / O形式を使用できます code-golfと同様に、最短のコードが勝ちます!

1
MENACEを実装する
バックグラウンド MENACE(M achine E ducable Nは oughts A ND C rosses E ngine)1960年代に英国のコンピュータ科学者ドナルド・ミッチーが作成したゲームNoughtsと十字のための初歩的な浅いの機械学習アルゴリズムです。元々は304個のマッチボックスで実装され、各マッチボックスにはボードの位置がラベル付けされており、色付きのビーズが含まれています(9色のいずれかで、可能な動きを表します)。Michieは、ボード上の動きのあらゆる組み合わせに対して、これらの304個のマッチボックスで十分であると計算しました。 あなたの中のより数学的な人は、実際にはN&Cボード上​​にNoughts、Cross、Blanksの19,683の可能な組み合わせがあることに気付くかもしれません。しかし、彼はこの数を減らす方法を計算しました(アルゴリズムを高速化し、マッチボックスを減らす可能性が高い!)。最初に、彼は次のような可能性のない動きをすべて削除しました。 ------- |X|0|X| | |0| | |X|X| | ------- (2つのoughtと4つの十字架) 次に、彼は回転を補正しました。たとえば、マッチ箱にある場合: ------- | |0|0| |X| |X| | |0| | ------- 同じ箱を使って ------- | |X| | |0| |0| | |X|0| ------- したがって、前述の色付きビーズは絶対的な位置ではなく、相対的な位置を表しています。たとえば、赤いビーズが左上を意味すると言った場合、ボックスの上部の画像を見て、次のように表示します。 ------- | |0|0| |X| |X| | …

11
野球ピッチ文字列を生成する
ゴール 正の整数を取り、nlengthの正当な一連のピッチ(以下、ピッチストリングと呼ぶ)をランダムに生成するプログラムまたは関数を作成しnます。 入力 ゼロ以外の正の整数n<= 100 出力 長さの可能な有効なピッチ文字列を表すランダム文字列または文字のリストを返しnます。使用される文字は次のとおりです。 B-ボール。これらの4つを蓄積する場合、打者は歩き、打撃を終えた。 S-ストライク。これらのうち3つを蓄積すると、打者は出てバッティングを終了します。 F-ファウル。また、ストライク数を増やしますが、打者を出すことはできません。つまり、有効な文字列の最後のピッチをファウルにすることはできません。2回のストライク/ファウルを過ぎたファウルは、ストライクカウントを増加させません(打者はその時点ですでに2回のストライクをしており、3回目は彼を追い出します)。 H-ヒット。バッターはボールをインプレーに打ち込み、バッティングを終了しました。 (これは少し簡略化されていますが、心配する必要はありません) 有効なピッチ文字列は、ストライクアウト、ウォーク、またはヒットで終わるものです。 つまり、無効なピッチ文字列には次のいずれかがあります 4番目のボール、3番目のストライク、またはヒット後の追加のピッチ 4番目のボール、3番目のストライク、またはヒットを生成する前に終了しました。 ルール プログラムは、指定された入力に対してすべての可能な結果を​​生成できる必要があります。 プログラムは一様にランダムである必要はありませんが、前の規則に従う必要があります。 これはcode-golfです。 例 Input => Possible Outputs 1 => [H] #Can only end with a hit 2 => [S,H], [B,H], [F,H] #Can only end with a hit 3 => [S,S,S], [F,F,S], [B,B,H], …


9
クインの大ピラミッド
このタスクは、ひねりを加えたかなり単純な挑戦です。ソースコードをピラミッドの形で出力する必要があります。ピラミッドの形状は次のように定義されます。 1 234 56789 ABCDEFG HIJKLMNOP QRSTUVWXYZa bcdefghijklmn ......etc...... この課題の主な制限は、ピラミッドのパターンを妨げないように、クインに正確に十分なバイトを含める必要があることです。たとえば、次のプログラムの長さが機能します。 1-byter: 1st layer of the pyramid (not allowed by definition of a quine). 4-byter: 1st and 2nd layers of the pyramid. 9-byter: 1st, 2nd and 3rd layers of the pyramid. etc... したがって、プログラムが次の場合: QWERTY 次のように配置されるため、有効ではありません。 Q WER TY ただし、プログラムがQWERTYUIOであれば、それで問題ありません。 Q WER …

3
グリッド上のあいまいな場所
4つの距離センサーを備えた小さなロボットがあります。部屋のレイアウトは知っていますが、グリッドの方向に固定できること以外の方向感覚はありません。読み取り値に基づいてロボットがどこにあるかを見つけたいが、センサーが限られているためあいまいになる可能性があります。 チャレンジの説明 部屋のレイアウトと時計回りの4つの距離測定値が表示され、あなたと壁の間のセル数が示されます。部屋の中央に壁があり、グリッドの端も壁です。ロボットを壁の上に置くことはできません。 あなたの目的は、ロボットがそこにいる可能性のある部屋内のすべての場所をリストし、与えられた読み取り値を与えることです。ロボットには向きの感覚がないため(グリッド上の90度の角度にロックされていることを除きます。つまり、ロボットが斜めになったり、他のスキュー角度になることはありません)、[1、2、3、 4]は、たとえば、[3、4、1、2]と同じです。 例 これらの例では、セル座標は、左上のセルから0のインデックス(x、y)のペアとして与えられます。読み取り値は、角括弧で囲まれたリストで時計回りに表示されます。レイアウトでは、空のセルを表すために、壁やその他の文字(通常はドット)にポンド記号を使用します。 事例1 . . . . . . . . . . # . . . . . [1、0、2、3] ==>(1、0)、(3、1) [0、0、3、3] ==>(0、0)、(3、0)、(0、3)、(3、3) [2、1、1、0] ==>(0、2)、(2、1) [1、1、2、2] ==>(1、1) 事例2 # a . # a . a # . . # a . . # . . …
11 code-golf  grid 

2
ゴルフパターソンワームズ
パターソンのワームは、無限の三角形のグリッド上に存在するセルオートマトンの一種であり、すべてのステップで、ある方向に回転し、1つのユニットを移動します。彼らが定義している特性は、同じ場所を2回通過することは決してできないということです。同じ環境に出会うと、同じ決定を下します。ワームは、尾を3に配置し、頭をこの六角形の中心に配置して、常に独自の視点から「認識」します。 たとえば、次のルールを持つワームを考えます。 0、1、2、4、および5がすべて空白の場合、方向2に移動します 0、1、4、および5が空白で、2が満たされている場合、方向0に移動します 0、1、および5が空白で、2および4が満たされている場合、方向0に移動します これにより、次のパスが得られます(Wikipediaから)。 ワームは、周囲がすべて満たされている状況で自分自身を見つけると、終了します。 入力 数字のリスト。n番目の数字は、ワームが遭遇するn番目の新しい状況で、判断を下さなければならない場合にどのような判断を下すべきかを示しています。周囲の1つを除くすべてが満たされている場合、空の方向にのみ移動する必要があることに注意してください。これは「決定」としてカウントされず、数値を消費しません。上記のワームの例を生成するには、入力はになります[2, 0, 0]。入力はワームを生成することが保証されており、ワームは終了し、パスをリトレースしません。また、入力が短すぎることはありません。 出力 から始まるワームの頭の位置を示す座標のリストを出力し(1, 0)ます。上に移動して右に移動するとy値のみが減少し、上に移動して左に移動するとx値が減少してy値が減少することを考慮します。たとえば、入力例のパスの出力は次のとおりです。 (1, 0), (1, 1), (0, 0), (-1, -1), (0, -1), (0, 0), (0, 1), (-1, 0), (0, 0) テストケース javascriptスニペットを使用して、テストを実行することもできます。 [2,0,0]: (1,0),(1,1),(0,0),(-1,-1),(0,-1),(0,0),(0,1),(-1,0),(0,0) [1,0,4,0,1,5]: (1,0),(2,1),(2,2),(1,2),(0,1),(0,0),(0,-1),(1,-1),(2,0),(2,1),(3,1),(4,2),(4,3),(3,3),(2,2),(1,1),(1,0),(2,0),(3,1),(3,0),(4,0),(5,1),(5,2),(4,2),(3,2),(2,1),(1,1),(0,0),(-1,0),(-2,-1),(-2,-2),(-1,-2),(0,-1),(1,0),(1,-1),(2,-1),(3,0),(4,1),(4,2),(5,3),(5,4),(4,4),(3,3),(3,4),(2,4),(1,3),(1,2),(1,1),(0,1),(-1,0),(-1,1),(-2,1),(-3,0),(-3,-1),(-2,-1),(-1,-1),(0,0) [1,0,5,1]: (1,0),(2,1),(2,2),(1,2),(0,1),(0,0),(0,-1),(1,-1),(2,0),(2,1),(3,2),(3,3),(2,3),(1,2),(0,2),(-1,1),(-1,0),(0,0),(1,1),(1,2),(1,3),(0,3),(-1,2),(-1,1),(-2,0),(-2,-1),(-1,-1),(0,0) [2,0,1,0]: (1,0),(1,1),(0,0),(-1,-1),(0,-1),(0,0),(-1,0),(-1,-1),(-1,-2),(0,-1),(1,0),(2,1),(1,1),(0,1),(0,0) 次の急いで組み立てられた(おそらくバグのある)プログラムは、ワームを表示します。 コードスニペットを表示 var canvas = document.querySelector("canvas"); var ctx …

7
整数と隣接因子の割合を近似する
1が要因としてカウントされない場合、 40には2つの隣接する要素(4と5)があります 1092には2つの隣接因子(13および14)があります 350には2つの隣接する因子がありません(その因子2、5、7、10、14、25、35、50、70、および175のうち、2つは連続していません) このプロパティを持つ正の整数の割合は、6(2×3)、12(3×4)、20(4×5)、30、56、…のいずれかで割り切れる割合です。これらの最初のnで割り切れる割合のみを計算すると、nが増加するにつれてより正確になる近似が得られます。 たとえば、n = 1の場合、2×3 = 6で割り切れる整数の割合、つまり1/6を求めます。以下のために、N = 2の近似がまだ1/6になるように、3×4 = 12で割り切れるすべての整数は、6でも割り切れます。以下のためのN = 3、6又は20で割り切れる整数の割合が1/5であり、等々 。 最初のいくつかの値は次のとおりです。 1 1/6 0.16666666666666666 3 1/5 0.20000000000000000 6 22/105 0.20952380952380953 9 491/2310 0.21255411255411255 12 2153/10010 0.21508491508491510 15 36887/170170 0.21676558735382265 21 65563/301070 0.21776663234463747 24 853883/3913910 0.21816623274423785 27 24796879/113503390 0.21846817967287144 指定された値の間のnの値の場合、出力は上記の値の出力と同じである必要があります(例:n = 5 →1/5)。 プログラムはnを取り、小数または小数の回答を出力する必要があります。あなたはかかりますnは(代わりに1-インデックスの、このシーケンスに例えば0-インデックスまたは2-インデックス)の任意のオフセットで。 …
11 code-golf  number 

3
算術幾何学的なシーケンスですか?
arithmetico-幾何学的配列は、算術配列及び幾何学的配列の要素単位の積です。たとえば、1 -4 12 -32は、算術シーケンス1 2 3 4と幾何学的シーケンスの積です1 -2 4 -8。整数算術幾何学的シーケンスのn番目の項は、次のように表現できます。 an=rn⋅(a0+nd)an=rn⋅(a0+nd)a_n = r^n \cdot (a_0 + nd) 一部の実数、非ゼロの実数、および整数。とは必ずしも整数ではないことに注意してください。dddrrra0a0a_0rrrddd たとえば、シーケンスに2 11 36 100 256 624 1472 3392は、、およびます。a0=2a0=2a_0 = 2r=2r=2r = 2d=3.5d=3.5d = 3.5 入力 合理的な形式の入力としての整数の順序付きリスト。幾何学的シーケンスの一部の定義では許可され、定義されるため、入力が算術幾何学的シーケンスであるかどうかは、が0 であるかどうかに依存しません。たとえば、入力として発生しませんn≥2n≥2n \ge 2r=0r=0r=000=100=10^0 = 1rrr123 0 0 0 0 出力 算術幾何学的なシーケンスであるかどうか。真実/偽の値、または2つの異なる一貫した値を出力します。 テストケース 正しい: 1 -4 12 …

12
それを分割します。すべてではありません!
このStackOverflowの質問に触発されました。 入力: 3つの入力を使用します。 D分割する区切り文字 文字I両者の間には、その我々は(その音は漠然と、私は知っているが、私は以下のことを説明します)区切り文字を無視します 文字列 S 出力: 分割後の部分文字列を含むリスト/配列。 例: Input: D = ',' I = '"' S = '11020199,"Abc ",aduz,,444,bieb,dc,2 ,2222.00,whatever 5dc,222.22,22.00,"98,00","12,000,000",21-09-2018, 06:00,",-,"' Output: ['11020199', 'Abc ', 'aduz', '', '444', 'bieb', 'dc', '2 ', '2222.00', 'whatever 5dc', '222.22', '22.00', '98,00', '12,000,000', '21-09-2018', ' 06:00', ',-,'] どうして?カンマで分割も通常分割う98,00、12,000,000と,-,2/3枚インチ しかし、それらはI入力文字内にあるため、ここでの分割は無視します。 チャレンジルール: Iinput-string …
11 code-golf  string 

5
ASCIIカレンダープランナー
アクティビティのリストとその開始時刻/日付を指定して、適切な日のアクティビティを示すASCIIアートカレンダーを出力します。すべてのアクティビティは同じ月に行われることが保証され、同じ日に2つのアクティビティが行われることはありません。また、すべてのアクティビティはカレンダーボックスに収まることが保証されます。 カレンダーの日付は各ボックスの左上隅にあり、ボックスは幅9スペース、高さ5スペースで、で囲まれ-てい|ます。曜日の2文字の略語は最初の行の上に中央揃えされ、週は日曜日から始まります。 たとえば、次のアクティビティがあるとします。 10/5/2018 - 9:00am - Sandbox calendar challenge 10/9/2018 - 9:00am - Post challenge to main 10/10/2018 - 10:00am - Profit 10/31/2018 - 7:30pm - Halloween party この対応するカレンダーを出力します。 Su Mo Tu We Th Fr Sa ----------------------------------------------------------------------- | |1 |2 |3 |4 |5 |6 | | | | | …

5
2D空間でオブジェクトを追跡する
説明 この課題のタスクは、n × nn×nn×n空間で特定のオブジェクトを追跡するプログラムまたは機能を考案することです。 I / O プログラムには3つの入力が与えられますが、これらは適切な方法で取得できます。 n飛行機の側面のサイズになります。(したがって、n = 5n=5n=5場合、飛行機はなります)。常に奇数の整数であると仮定できます。5 × 55×55×5n sオブジェクトの開始位置になり、座標のペアとして指定されます。(x 、y)(x,y)(x, y) D順序付けられたペアのベクトルになります。Dの形式に従います。ここで、は、基本的および主要な方向に対して常にのいずれかであり、は「ティック」の数の整数。D = [ (d0、t0)、(d1、t1)、。。。、(dn、tn)]D=[(d0,t0),(d1,t1),...,(dn,tn)]D = [(d_0,t_0),(d_1,t_1),...,(d_n,t_n)]dkdkd_kt k'N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'tktkt_k これらの入力が与えられると、プログラムは平面内のオブジェクトの追跡を出力する必要があります。 ルール 出力には平面の境界が含まれている必要があります。例えば: -21012 + +┌─────┐┐ 2││ 1││ 0││ 1││ 2││ -└─────┘ 空の平面の例です。上記および横の数字は参照用であり、印刷する必要はありません。5 × 55×55×5 空白でない限り(または空白としてレンダリングする限り)、境界に任意の文字を使用できます。選択するキャラクターは、平面全体を区切る必要があります。つまり、それらの間に隙間がないようにする必要があります。 許容されるプレーンには次のものがあります。 ┌──┐.... ---- +-+ …

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