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

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

2
整数除算ループ
チャレンジ あなたの言語でサポートされている正の整数を考える: 入力を受け取り、それを2つに分割します。このプログラムのすべての除算で、入力が奇数の場合、半分を切り上げ、半分を切り捨てます(例:7 -> 3,4でなく7 -> 3.5,3.5)。 いずれかの数を半分に割り、次にこれら2つの新しい半分の大きい方を取り、分割されなかった数に戻します。例:3,4 -> (1,2),4 -> 1,6または3,4 -> 3,(2,2) -> 5,2。 前に見たセットに到達するまで、手順2を繰り返します。例:5 -> 3,2 -> (1,2),2 -> 1,4 -> 1,(2,2) -> 3,2。3,2以前に見たので、繰り返すのをやめるかもしれません。これを実行する過程で、スタックを完全に使い果たす可能性があります。例:5 -> 3,2 -> (1,2),2 -> 1,4 -> (0,1),4 -> 0,5。 ループ内の各ペアを出力します(つまり、ペアの最初の出現から2番目までの、中間ステップなしの上記の2番目は含まれません)。例:3,2 -> 1,4。入力が含まれている場合は、それを出力しないでください0- 5 -> 3,2 -> 1,4ではなく0,5 -> 3,2 -> 1,4。 ペアを別々に分割して、手順1〜4を繰り返します。 …

4
接頭辞のない回文
かかるプログラムや関数書きN、およびSをし、長さの回文数は出力Sあなたのサイズのアルファベットを使用して構築することができますがNの間のサイズの任意のプレフィックスような2とS-1は回文ではありません。 たとえば、Nが2でSが5の場合 有効な回文は次のようになります 01110 10001 したがって、答えは2になります これはコードゴルフであるため、回答はその長さに基づいてバイト単位でスコアリングされ、バイト数が少ないほど優れています。

6
多項式文字列への偏微分を簡略化して取得する
前書き 変数に関する多項式(多変量の場合もある)の偏微分を計算するプログラムを記述します。 チャレンジ デリバティブは、物理学、化学、生物学、経済学、心理学など、あらゆる種類の問題を処理するために広く適用されている非常に重要な数学的ツールです。複数の変数を持つ式も非常に一般的です。 この課題の範囲では、多項式文字列(「polystr」)は次のBNF(バッカスナウア形式)によって定義されます。 <polystr> ::= <term> | <term><plusminus><polystr> <plusminus> ::= "+" | "-" <term> ::= <coeff> | <coeff><baseterm> | <baseterm> <baseterm> ::= <variable> | <variable><exponent> | <baseterm><baseterm> <coeff> ::= positive_integer <exponent> ::= positive_integer <variable> ::= lowercase_ASCII_letters どこにpositive_integer、lowercase_ASCII_letters非常に自明です。 たとえば、文字列3x2y-x3y-x2y+5はを意味し3*(x^2)*y-(x^3)*y-(x^2)*y+5ます。入力で指定された用語は任意の順序で表示され、各用語の変数も任意の順序で表示されます。したがって、たとえば、これ5-yx2-x3y+y3x2も有効な入力であり、実際には前の例と同じです。 偏微分を取るためのルールは、期間ごとに行うことです。変数が出現し、用語に出現しない場合、導関数はゼロです。それ以外の場合は、項の係数にその変数の指数が乗算され、変数の指数が1つ減少します。他の変数の指数は変化しません。これはちょうど数学の定義に従っています。さらに、結果の指数がゼロの場合は、項から変数を削除します。 たとえば5z-z2y2-5w3y、に関するの偏微分を取得する場合y。次のプロセスが実行されます(上記で定義されたBNFに従って、「係数」はすべて正の数であると見なされます。つまり、符号は個別に考慮されます)。 5z - z2y2 - 5w3y Coeff 1->1*2=2 5->5*1=5 …

8
セブンのゲームの拡張
前書き 7のゲームの適応バージョンに表示される特定のベースのすべての数値を出力します。 チャレンジ あなたの仕事は、特定の範囲の特定の基数のすべての数値を出力し、特定の条件に一致する数値をスキップすることです。 あなたは、4つの入力が与えられます:base elim startとend。4つの変数の役割は次のとおりです。 base他の3つの変数、および出力に使用するベースを指定します。それを表現する1つの方法は、「8」、「9」、または「A」から「Z」までの大文字の1文字を使用し、10進法の場合は「A」、16進法の場合は「G」を使用することです。サポートされる予定のベースは8〜35です。これは私の提案する表現方法baseであり、「入力と出力の例」セクションで使用しますが、独自の方法で表現することもできます。たとえばbase、通常の10進数表現としてフォーマットすることを選択できます。 startおよびendは、出力される数値の範囲を指定する2つの文字列で、指定されたで表されbaseます。baseis Gとstartis 10とendisの場合は、1Fを出力する必要10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1Fがありますelimが、すぐに説明するために、何に基づいてそれらを削除する必要もあります。 elimは単一の文字であり、指定されたの有効な数字である必要がありますbase。数字を含む、elimまたはその倍数であるすべての数値elimは、最終的な出力を生成するためにリストから削除する必要があります。 上記の場合、if elimは7、17数字が含まれているため、削除する必要があります7。15また、の1C倍数であるため、削除する必要があり7ます。したがって、最終的な出力は10 11 12 13 14 16 18 19 1A 1B 1D 1E 1F テストケース Input -> Output G,7,10,1F -> 10 11 12 …

2
これはファイブアップ(ドミノ)の有効なゲームですか?
ドミノのセットは、0からNまでの整数のすべての組み合わせが表されるように、2つの数字が付いたタイルで構成されます。以下の例では便宜上N = 6を参照していますが、N = 9とN = 12も一般的です。タイルの方向は関係ありません(通常、数字ではなくドットで印刷されます)。そのため、同じタイル[1-6]を[6-1]参照します。タイルはセットに1つしかありません。 ドミノでプレイするほとんどのゲームでは、プレーヤーが順番にドミノをテーブルに追加した行にドミノを追加していきます。そのため、新しいドミノの数字の1つは、テーブルの行の一端にある同じ数字の隣に配置されます。したがって、あなたは追加される場合があります[2-5]が、既存ラインの両端に[2-3][3-3][3-5]生じる、[5-2][2-3][3-3][3-5]または[2-3][3-3][3-5][5-2]。 そのようなゲームの多くは、「ダブル」、つまり同じ数の2つのドミノを、それらに接続されている他のドミノに垂直に配置する必要があります。私たちがここで気にしていないスコアリングを除いて、これは次の場合を除いて効果がありません... これらのゲームの多くは、「ライン」が一部またはすべてのダブルで分岐することを許可します。ファイブアップは、ラインが各ダブルで3つの新しいラインに分岐できるようなゲームなので、ダブルの4辺すべてに対応するドミノが接続されている場合があります。 以下は、ファイブアップ(A | BまたはABがシングルドミノ)のゲームで設定された「ダブル6」セットからのドミノのレイアウト例です。 4 - 0 3|0 0|0 0|2 0 - 1 4|1 1|1 1|6 3 1 - - 6 5 6 6|5 5|5 5|0 0|6 - 6|2 2|1 6 5 - 6 4 - 4 あなたのタスクは、テーブルに追加された順序でドミノのリストを取得し、この順序がファイブアップの合法的なゲームを表すかどうかを判断することです。 stdinから入力を受け取るプログラム全体、または1つ以上のパラメーターとして入力を受け取る関数を作成できます。 正規入力は、整数の2タプルのリストまたは配列になります。上記のいずれかを表す文字列や複数の文字列と同様に、リストのリスト、配列の配列、タプルのベクトルなどはすべて、入力を受け取る有効な形式です。入力には、負でない整数のペア、有効なドミノのみが含まれます。 有効なゲームと無効なゲームのそれぞれについて、出力は真または偽の値である必要があります。 …

2
この番号をデコードしてください!
この課題は、整数nを別の整数としてエンコードするアルゴリズムを提起しましたr。以下はn=60、例として使用して、そのアルゴリズムの簡潔な説明です。 オリジナルのアルゴリズム まず、括弧の文字列として数値をエンコードします。 の場合n = 1、空の文字列を返します。 それ以外の場合は、n昇順でソートされたの素数分解を取り、各要素を角括弧内のその素数インデックス(1インデックス付き)で置き換えます。60 = 2*2*3*5 => [1][1][2][3] ブラケットがすべて揃うまでこれを再帰的に行います。 [1][1][2][3] => [][][[1]][[2]] => [][][[]][[[1]]] => [][][[]][[[]]] ブラケットの文字列を取得したら、次のプロセスでそれを整数に変換します。 各開始ブラケットをaに1、各終了ブラケットをaに変換します0。[][][[]][[[]]] => 10101100111000 末尾0のと最後のをすべて削除します1。10101100111000 => 1010110011 0sと1sの最後の文字列をバイナリから整数に変換します。1010110011 => 691 このエンコーディングをデコードする このアルゴリズムの興味深い特性は、全射的ではないことです。すべての整数がこのエンコードの結果であるとは限りません。 まず、結果のバイナリ表現はr、でなければならないbalance-able多くのことで0sは数超えてはならない1のです。短い偽のテストケースはで4、これは100バイナリです。 次に、バイナリ表現の角かっこは、sorted ascending最後のs 1と末尾0のsがもう一度追加されるときでなければなりません。短い誤ったテストケースは12 <= 1100 <= 110010 <= (())()です。 ただし、この方法で数値がデコード可能かどうかを判断するだけでは、短い課題が生じます。代わりに、課題は、デコードできない数値またはサイクルに到達するまで所定の入力を繰り返しデコードし、結果として得られる数値のシーケンスを返すことです。 チャレンジ 数与えられ1 <= r <= 2**20 = 1048576、戻り数列r …

6
n-ジャグラーを作る
プロパティに従うシーケンスに本当に興味があります a (n + 1 )= a (n − a (n ))a(ん+1)=a(ん−a(ん))a(n+1) = a(n - a(n)) 最近、これらのシーケンスに関する別の質問があります。特に、整数から自然数までのシーケンスに関係しています。 上記のプロパティを持つ周期的なシーケンスは、n 個の異なる値が含まれている場合に限り、n -Juggler です。たとえば、次のシーケンスは2ジャグラーです。 ... 2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1 ... 数字1とのみが含まれているため2です。 3つのジャグラーの例は ... 3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5 ... それはjugglesので1、3、と5。 仕事 所与のn> 1の入力、出力任意としてN -Juggler。 シーケンスはさまざまな方法で出力できます。 インデックスを付ける関数を出力します。 インデックスの追加入力を受け取り、そのインデックスの値を出力します。 指定されたプロパティでシーケンスを一意に決定するシーケンスの連続したサブセクションを出力します。 これはコードゴルフなので、回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。

10
オプション文字列を並べ替える
バックグラウンド Cには、コマンドライン引数の解析に役立つ関数がありますgetopt。 Getoptは、引数カウント(argc)、引数リスト(argv)、およびプログラムがとるべきオプションを表す文字列(optstring)を取ります。 オプション文字列(optstring)は、1つのコロン(引数が必要なオプションの場合)、2つのコロン(オプションの引数のあるオプションの場合)、または0のコロン(引数のないオプションの場合)が後に続く一連のオプション文字です。 例:会社の新しいウィジェットに次のオプション文字列を使用できます。 "v::x:hy:S:G::dns:f::" しかし、それは恐ろしく見えます!オプションはすべて混在しています!このオプション文字列は、並べ替えた方がはるかによく見えます。 "f::G::v::S:s:x:y:dhn" 仕様書 入力は正規表現に一致する文字列になります ([A-Za-z]:{0,2})+ 入力は文字列または文字のリストとして受け取る必要があります。 以下に詳述する方法でソートされた文字列を出力する必要があります。 空の入力を処理する必要はありません。 同じタイプのオプションを繰り返し使用して入力を処理する必要はありません("aa"は無効ですが、"aa:a::"有効です)。 ソート方法 ソートされたオプション文字列で: 2つのコロンが後に続く文字が最初に来て、アルファベット順にソートされ、それぞれの小文字の前に大文字が続きます(つまり、「Bab」ではなく「aBb」)。 次に、1つのコロンが付いた文字がアルファベット順にソートされ、それぞれの小文字の前に大文字が続きます。 最後は、コロンのない文字で、アルファベット順にソートされ、それぞれの小文字の前に大文字が続きます。 ルール 標準の抜け穴は禁止されています。 得点 これはcode-golfなので、各言語でのバイト単位の最短の回答が優先されます。 例 # "input" => "output" "v::x:hy:S:G::dns:f::" => "f::G::v::S:s:x:y:dhn" "aa:a::" => "a::a:a" "B:" => "B:" "Confusio:n::" => "n::o:Cfinosu" "Confusio:n:" => "n:o:Cfinosu" "m:qW:X:xc:vViI" => "c:m:W:X:IiqVvx" "V:omo:V" => "o:V:moV" …

6
90%がこの課題に失敗しましたか?
この種の画像をFacebook(および他のサイト)で見たのは私だけではないでしょう。 上の画像は16日前に投稿され、51 kのコメントを蓄積しています。いくつかの回答:0、4、8、48、88、120、124など。 チャレンジ: 質問の数学は意味がありません1。そのため、方程式(または数値と演算子の混乱と呼ばれるもの)を見て、正しい答えを見つけることができません。しかし、答えた人は非常に多く、そのうち10%は正解です! 正しい答えを見つけましょう! 整数、パーセント、10進数の値0-1、または小数Nで、テストグループの何パーセントが質問に失敗したか(または、必要に応じて正解した数)と、ユーザーが投稿した回答を表す数値のリストを受け取ります。 100-Nテストグループのパーセントが回答した数を見つけて出力します。この基準に一致する回答が複数ある場合は、それらすべてを出力する必要があります。100-N時間の割合で表される回答がない場合は、最も近い数を出力する必要があります(からの回答数で測定100-N)。 入力規則にするにはN明らかに:90%が失敗した場合は、その後入力してもよい90、10、0.9または0.1。どちらを選択するかを指定する必要があります。パーセンテージの数値は整数であると想定できます。 テストケース: 以下のテストケースでNは、はテストに失敗した割合です。許可されている入力方法のいずれかを使用して入力することを選択できます。 N: 90 (meaning 90 % will fail and 10 % answer correctly) List: 3 1 5 6 2 1 3 3 2 6 Output: 5 (because 90 % of the answers weren't 5) --- N: 50 (50 % will …

9
セットを空にせずにばらばらにする
整数のセットがあるとします。セットの一部が重複する(つまり、要素を共有する)可能性があります。セットから要素を削除することで重複を取り除くことができますが、それらの一部は空になる可能性があります。それは残念だろう。それらを空にすることなく、すべてのセットをばらばらにすることはできますか? この状況では、セットに複数の要素を残す理由がないため、この問題は、各セットを1つの要素に減らすことで常に解決できます。これが、私たちがここで解決している問題のバージョンです。 タスク 次のようにプログラムまたは関数を記述します。 入力:整数のセットのリスト。 出力:入力と同じ長さの整数のリスト。 出力のすべての整数は区別されます。そして 出力の各整数は、対応する入力のセットの要素です。 明確化 要素の順序に関係なく、必要に応じて(または言語に適したものであれば)セットをリストとして表すことができます。 ソリューションが存在しない場合(つまり、常に少なくとも1つのソリューションが存在する場合)を処理する必要はありません。 複数の解決策がある場合があります。アルゴリズムは常に有効なソリューションを生成する必要がありますが、非決定的であることが許可されています(つまり、実行するたびに異なる有効なソリューションを選択することは問題ありません)。 入力に現れる個別の整数の数nは、入力のセットの数に等しく、簡単にするために、1からnまでの整数になります(実際の値は関係ないため)。この事実を利用するかどうかはあなた次第です。 テストケース [{1,2},{1,3},{1,4},{3,4}] -> [2,3,1,4] or [2,1,4,3] [{1,3},{1,2,4},{2,3},{3},{2,3,4,5}] -> [1,4,2,3,5] [{1,3,4},{2,3,5},{1,2},{4,5},{4,5}] -> [1,3,2,4,5] or [3,2,1,4,5] or [1,3,2,5,4] or [3,2,1,5,4] 勝利条件 プログラムは勝つために最適な時間の複雑さを必要とします。つまり、より時間の複雑さのあるアルゴリズムが見つかった場合、それはすべての遅いエントリを失格にします。(言語のビルトインは可能な限り高速であると想定できます。たとえば、ソートビルトインは時間O(n log n)で実行すると想定できます。同様に、nに匹敵するサイズのすべての整数を加算、乗算できると想定します。一定の時間で。) 最適な時間の複雑さはほとんどの言語でかなり簡単に取得できる可能性が高いため、勝者の時間の複雑さは、バイト数で測定すると、勝者が最も短いプログラムになります。

5
木の生と死
チャレンジ 整数Nを入力として受け取り、ツリーが現在存在する生死の段階を出力するプログラムを作成します。Nは常に0から10の間です。 生と死の段階 人生:人生のステージを描くには、単純に文字で構成されるサイズNのベースを描き、結果が0より大きい場合は上に^移動してNから2 を引き^、もう一度サイズを変えて文字の線を描きます。新しいのN。Nが0より大きい間繰り返します。終了するには|、Nの開始値が奇数の場合は1 文字、偶数の||場合は2 文字を配置します。 例:N = 5 ^ ^^^ ^^^^^ | N = 0の場合、葉(^)なしで茎のみが描画されることに注意してください。 死:これは大体同じである生活基盤であることを除いて、- N 10、あなたが使用Mするのではなく^、あなたがに2を追加Nと、上記と同じ手順で行を再描画が、今回は、あなたがに2を追加Nことながら、は10以下です。 例:N = 3 M MMM MMMMM MMMMMMM | 目標 プログラムは2つの異なる言語で実行する必要があり、どちらも入力Nを受け取る必要があります。最初の言語はNに従って木のライフステージを出力する必要があり、2番目の言語は死のステージを出力する必要があります。 ルール これはcode-golfであり、すべての要件を満たすバイト単位の最短のコードです。 コードは2つの異なる言語で実行する必要があります。はい、Python 2とPython 3 は異なる言語です。 標準の抜け穴は禁止されています。 末尾の改行またはスペースは許可されます。 テストケース 入力: N = 1 第一言語(生活): ^ | 第二言語(死): M MMM MMMMM …

7
ステップを(ランダムに)埋めてください!
これは、APL CodeGolf のオータムトーナメントのホール9 です。私はそこで問題の原作者なので、ここに再投稿することができます。 (1つ以上の次元の)単純な(長方形で、ギザギザのない)ブール配列を指定すると、最初の配列が入力と同一で、最後がすべて真であるような形の配列のリストを返します。すべての中間ステップには、左側の隣接ステップよりも1つ多くの真理がなければなりません(ただし、それ以外は同じです)。ステップごとに、変更されるビットを疑似ランダムに選択する必要があります(必要に応じてシードを選択できます)。 例 [0] 与える [[0],[1]] [[0]] 与える [[[0]],[[1]]] [[[1,1,1],[1,1,1],[1,1,1]],[[1,1,1],[1,1,1],[1,1,1]],[[1,1,1],[1,1,1],[1,1,1]]] 与える [[[[1,1,1],[1,1,1],[1,1,1]],[[1,1,1],[1,1,1],[1,1,1]],[[1,1,1],[1,1,1],[1,1,1]]]] 以下の例の結果は、もちろんランダム性により異なる場合があります。これらは有効な出力の例にすぎません。 [0,1,0,0] 与える [[0,1,0,0],[1,1,0,0],[1,1,0,1],[1,1,1,1]] [[0,1,0],[0,0,1]] 与える [[[0,1,0],[0,0,1]],[[1,1,0],[0,0,1]],[[1,1,0],[0,1,1]],[[1,1,1],[0,1,1]],[[1,1,1],[1,1,1]]] [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]] 与える [[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[1,0,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,1,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,1,0],[0,1,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,1,0],[0,1,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,1,0],[0,1,0,0,0,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,0],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,1],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,0],[1,1,1,0,0,0,0,1],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,0,0,0,1],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,0,1,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,0,0,0,1],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,0,0,0,1],[0,0,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,0,0,0,1],[0,1,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,0,0,0,1],[0,1,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,0,1,1,0],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,0,1],[0,1,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,0],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,0,1],[0,1,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,0,1],[0,1,0,1,0,0,0,0]],[[1,0,1,0,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,0,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,0,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,0,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,0,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,1,0,0],[0,0,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,0]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,0],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,1]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,0,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,1]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,0,0,0,1]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[0,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,1,0,0,1]],[[1,0,1,1,0,1,0,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,1,0,0,1]],[[1,1,1,1,0,1,0,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,0,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[0,0,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[0,1,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[1,1,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,0],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[1,1,0,0,1,1,1,1],[0,0,1,0,1,0,0,1],[1,1,0,0,1,0,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[1,1,0,0,1,1,1,1],[0,1,1,0,1,0,0,1],[1,1,0,0,1,0,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,0,1,1,0],[0,1,1,1,1,0,1,1],[1,1,0,0,1,1,1,1],[0,1,1,0,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,1,1,1,0],[0,1,1,1,1,0,1,1],[1,1,0,0,1,1,1,1],[0,1,1,0,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,1,1,1,0],[0,1,1,1,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,0,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1]],[[1,1,1,1,1,1,1,0],[0,1,1,1,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,0,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,0],[0,1,1,1,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,0,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1],[1,1,0,0,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,0,1],[1,1,0,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1],[1,1,0,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,0,1,1],[1,1,0,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,0,1,1],[1,1,0,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,0,1,1,1,1],[0,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,0,1,1],[1,1,0,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,0,1,1],[1,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,0,1,1],[1,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,0,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1]],[[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1]]]

22
N番目のNgonal数
私たちのほとんどは、おそらく三角形と平方数の概念に精通しています。ただし、五角形、六角形、七角形、八角形などもあります。N番目のNagonal数は、N辺の多角形で形成されるシーケンスのN番目の数として定義されます。明らかに、N> = 3です。2面または1面の閉じた形状がないためです。最初のいくつかのN番目のNgonal番号は0、1、2、6、16、35、66、112、176、261、370、506、672、871です。...これはOEISのシーケンスA060354です。 あなたのタスク: 整数nを入力として指定すると、N番目のNagonal数を出力/返すプログラムまたは関数を記述します。 入力: 3〜10 ^ 6の整数N。 出力: N番目の対角番号。Nは入力です。 テストケース: 25 -> 6925 35 -> 19670 40 -> 29680 得点: これはcode-golfで、バイト単位の最低スコアが勝ちます!

7
単語の平均を見つける
このチャットメッセージに触発されました あなたの仕事は、単語を取り、キーボード上のその文字の平均的な位置を文字として見つけることです。 キーボード・レイアウト レイアウトはキーボードごとに異なるため、この質問では自分のキーボードに基づく標準を使用します。 キーボードには3つの行があり、一番上の行には左から右にキーが含まれています QWERTYUIOP 2行目には文字が含まれています ASDFGHJKL 最後の行には ZXCVBNM 各文字は、隣から左に1単位水平です。この手段Wから離れて1であるQとE離れてから1であるWというように。 各行の先頭のキーには、次の位置があります。 Q : 0,0 A : 1/3,1 Z : 2/3,2 これは、行が垂直方向に1単位分離され、下の2行がその上の行から3分の1シフトされていることを意味します。 入力として単語を取り、その単語内の文字の平均位置に最も近い文字を出力する必要があります。ベクトルのセットの平均は (average x value, average y value) 2つのキーが平均から等距離にある場合、「最も近い」キーとして出力できます。 これは コードゴルフ そのため、回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 ソリューションの例 の平均を計算してみましょうAPL。 各文字をベクトルに変換します A -> (1/3,1) P -> (9,0) L -> (8 1/3,1) これらを3つのベクトルに加算して取得し(17 2/3, 2)ます。次に、各座標を3(単語の文字数)で割り、を取得し(5 8/9, …

3
不気味な廊下
この課題は、前にプレイしたボードゲームに触発されました。 この課題のストーリーは必ずしも読む必要はありません。課題のセクションでは、必要なすべてを説明する必要があります。 物語 人々は人間を食い尽くすモンスターがいる大きな部屋の中に閉じ込められています。部屋の壁はエンチャントされており、触れるとオブジェクトが部屋全体にテレポートします。怪物は部屋を横切って行進し、肉を探します。視界の最初の人間はその鋭い歯によって消費されます。 チャレンジの目標 あなたは、人とモンスターの場所を含む部屋の地図を与えられます。 %%%KLMNOPQRSTA% %%J B %I % C H D G %% E F F E % G D H C % I% B J%% %ATSRQPONMLK%%% マップのコンポーネントを分解してみましょう。 Ato からの文字T:モンスターがこれらのいずれかに踏み込むと、この文字の2番目の外観にテレポートされ、方向は変わりません。ボードには、文字が0つか2つしかありません。 %:壁のタイル。書式設定と見栄えだけのために。 #:モンスターの開始位置。 *:人々の場所。 :空のタイル、モンスターはそれらの上を自由に移動できます。 マップについて注意すべきいくつかの追加事項: マップの次元とオブジェクトの場所は一定ではないため、コードはそれに動的に適応する必要があります。 モンスターは、人間を見つけない限り、常に現在直面している方向(最初は西を向いています)に移動します。その場合、人間に最も近くなります。 壁とテレポーターのタイルが人間と人間の間に水平または垂直の直線状にない場合、モンスターは人間を見つけます。 もう1つ注意すべき点は、モンスターが堅い壁の前にいる場合(%)、または2人の人間の間で決定する必要がある場合は、常に右より左を優先するということです。 モンスターがなんらかの理由で右に曲がることができずに前進することができない場合、それは左に曲がります代わりにます。 つまり、最終的に、モンスターが方向を優先する順序は、前方、右、左、後方になります。 入力 モンスターの開始位置と人々の位置をそれぞれのキャラクターとして含むマップ。マップ文字列、文字列の配列、または文字以外の入力があってはなりません。 入力は適切な形式で受け取ることができます。マップの単一の文字列または文字列の配列。 出力 モンスターに最初に食べられる人のコーディネート。 座標は左上隅から始まり、0から始まるため、最初のタイルの座標は(0 …
8 code-golf 

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