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

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

10
クロスワードの番号付け
クロスワードグリッドに正しく番号を付けるプログラムを作成します。 入力 入力は、クロスワードグリッドを表すファイルの名前になります。入力ファイル名は、引数として、標準入力で、またはハードコーディング以外の従来の方法で渡すことができます。 グリッドファイル形式:テキストファイル。1行目は、空白で区切られた2つの整数定数Mとで構成されていNます。その行に続くのは、M それぞれからN選択された文字(および新しい行)で構成される行[#A-Z ]です。これらの文字は'#' 、ブロックされた四角形、' '既知のコンテンツのないパズル内の開いた四角形、およびその文字を含む開いた四角形を示すように解釈されます。 出力 出力は番号付けファイルになり、標準出力、入力ファイル名から派生した名前のファイル、ユーザー指定のファイル、または他の従来の宛先に送信できます。 ナンバリングファイルフォーマットテキストファイル。「#」で始まる行は無視され、コメントに使用できます。他のすべての行はタブ区切りトリプレット含むi、m、数がグリッド上に印刷されるべきであり、そしてそれが印刷されるべきである正方形の行と列を表しています。行と列の両方の数は1から始まります。nimn 採番スキーマ 正しい番号のグリッドには、次のプロパティがあります。 番号は1から始まります。 開いている正方形の列またはスパンには番号が付けられていません。(問題には1文字の回答が存在しないと考えるかもしれません。) 番号は、各行を左から右に取って、上から下にスキャンすることにより、カウント順に発生します。(したがって、すべての水平スパンには左端の正方形から番号が付けられ、すべての列には一番上の正方形から番号が付けられます。) テスト入力と期待される出力 入力: 5 5 # ## # # # ## # 出力(コメント行を無視): 1 1 2 2 1 3 3 2 2 4 2 4 5 2 5 6 3 1 7 3 4 8 …

1
放射性ビット検査
注:これは、以前のチャレンジであるPristine Bit Checkingの耐放射線バージョンです。これはそれよりもはるかに難しいはずです。 000から255255255の範囲の2つの整数を取り、数値のバイナリ形式が正確に1ビット異なるかどうかを返すプログラム/関数を記述します。 たとえば、111と000はバイナリ形式の00000001と00000000があり、1ビット離れています。同様に、152152152と242424は010011000and 000011000なので、trueを返します。 ただし、コードを耐放射線性にする必要があります。これにより、プログラムのいずれかのビットが反転しても、正しく機能するはずです。たとえば、プログラムが1バイトa(01100001)の場合、8つの変更可能なプログラムすべて: á ! A q i e c ` それでも正しく機能する必要があります。バイト単位で変更していることを確認してください(たとえば、á上の2バイト文字ではなく、実際にはバイト225225225表しているá)。 テストケース: Truthyの意味では、それらは 1ビット異なります。 0,1 => Truthy 1,0 => Truthy 152,24 => Truthy 10,10 => Falsey 10,11 => Truthy 11,12 => Falsey 255,0 => Falsey ルール: 多くの可能なプログラム(バイト数* 8)、または完全な有効性の証明があるため、プログラムが適切に耐放射線性であることを検証できるテストフレームワークを提供します。 投稿する前に、プログラムが有効であることを再確認してください。 出力は、true / false(どちらの方法でもかまいません)、またはtrueの1つの異なる値として、残りはfalseのいずれかになります。 これは、標準入出力メソッドのいずれかを介して行うことができます 以下は、入力されたプログラムのすべてのバリエーションを生成するために使用できるヘルパープログラムです。

3
フランス語の動詞の活用形をすべて印刷する
「er」、「ir」、または「re」(「不定詞」)のいずれかで終わる文字列を指定すると、7つの単純な時制で文字列の完全な活用形をフランス語の動詞として出力します。各時制ごとに(以下の順序で)、各主語代名詞を次の順序で出力します。je、tu、il、elle、nous、vous、ils、elles ; その後にスペース、代名詞に従って動詞が活用された動詞、改行が続きます。動詞が母音(aeiou)またはhで始まる場合、jeはj 'になり、スペースは省略されます。 すべての例で、通常の動詞exister、invertir、およびrendreを使用して説明します。フランス語には非常に多くの不規則動詞がありますが、仕様と挑戦を容易にするために無視します。 時制 現在時制 不定詞からer / ir / reを削除し、次のエンディングを追加します。 er:j'exist e、tu exist es、il exist e、elle exist e、nous exist ons、vous exist ez、il exists ent、elles exist ent。 IR:j'invertがあり、TU反転がある、反転IL それ、反転ELLE それ、nousが反転issons、ランデブー反転issez、ILS反転オペレーターisSent。 re:je rend s、tu rend s、il rend、elle rend(エンディングなし)、nous rend ons、vous rend ez、il rend ent、elles rend ent。 不完全 不定詞からer / ir …

2
パスを再ルーティングする
方向のグリッドと開始位置と終了位置を指定して、2点間のパスを完了するために必要な方向グリッドの置換の最小数を決定します。グリッドは二重円筒形です。これは、例を挙げればより明確になります。 例 例として次のグリッドを見てみましょう: >>>>v >>>>< <<<<< (座標がまたはで、最初の行と左の列がである)(1, 1)で開始して終了します。次に、1つの可能な解決策は、とをに置き換えることです。これにより、最終的なグリッドは次のようになります。(1, 3)(x, y)(col, row)1(1, 1)(1, 2)v v>>>v v>>>< <<<<< から始まり(1, 1)、パスはにつながり(1, 3)ます。しかし、短いソリューションを交換することである、存在する(5, 2)とv、最終的なグリッドはこれです: >>>>v >>>>v <<<<< から始めて(1, 1)、かなり長いパスがにつながり(1, 3)ます。 一番上の行の何かを^作品でも置き換えます(@Spitemasterに感謝します)。 入力 入力は、4つの可能な値の長方形グリッドと2つの座標で構成されます。グリッドは適切な形式で使用できます。たとえば、文字または整数の行列、文字列リストなど。グリッドの次元を要求することもできます。座標は適切な形式で取得できます。たとえば、整数ペア、複素数などです。0または1のインデックスを選択できます。 出力 出力は単一の整数であり、パスを最初から最後まで閉じるのに必要なグリッド置換の最小数である必要があります。 ルールと仕様 標準抜け穴が適用されます グリッドは二重円筒形です。つまり、上から上に移動すると下に移動し、左から左に移動すると右に移動します。 サンプルケース サンプルケースは、文字行列と1インデックスの座標として与えられます。 事例1 入力 >>>>v >>>>< <<<<< 1 1 1 3 出力 1 説明 例を参照してください。 事例2 …

11
オリンピック得点[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 8か月前に閉鎖。 課題は、0から10までのn個の正の実数が与えられたゴルフコードプログラムを作成することです(形式xy、yは0または5のみです:0、0.5、1、1.5、2、2.5…9.5および10)。一部のオリンピックのスコアリングと同様に、最低値と最高値を破棄し(繰り返されても1つだけ)、残りの平均をxy形式で表示します(yは0または5に丸めることができます)。 例:入力->出力 6-> 6 6.5、9-> 8 9、7、8-> 8 6、5、7、8、9-> 7 5、6.5、9、8、7-> 7 6.5、6.5、9.5、8、7-> 7 5、6.5、7.5、8.5、9.5-> 7.5 注:入力が2つの数値のみの場合は、何も破棄せず、それらを平均してください。入力が1つの数値の場合、出力は同じです。 丸め規則の明確化(すみません、少し混乱します): x.01〜x.25 x.0に丸めます x.26からx.75に丸めてx.5に x.76〜x.99をx + 1.0に丸める

1
パーティションと再構築
同じ領域の2つの隣接する形状が与えられた場合、最初の形状を最小数の隣接するセグメントに分割して、それらを再配置して2番目の形状を形成できるようにする最適な方法を決定します。つまり、両方の形状を形成できる、必要な最小数のセグメントを見つけます。 「隣接」とは、形状を構成するすべての正方形が、他の正方形から端を横切ることで到達できることを意味します。形状とセグメントに穴を開けることができます。 「再配置」とは、セグメントを移動することを意味します。それらを平行移動、回転、反映することができます。 形状はグリッドに含まれています。つまり、各形状は、コーナー/エッジで結合された単位正方形のコレクションで構成されます。 入力仕様 入力は、いくつかの合理的な形式で提供されます-ポイントのリスト、各グリッドを表す文字列の配列など。要求された場合は、グリッドのサイズを取得することもできます。グリッドの寸法は同じになり、2つの形状は同じ面積になることが保証され、面積は正になります。 出力仕様 出力は単一の正の整数でなければなりません。最悪の場合のシナリオでは、形状をN単位正方形に分割するだけなので、常に肯定的な回答が得られることに注意してください。 例 例は.、空白を#表し、形状の一部を表すグリッドとして表示されます。 事例1 入力 ..... .###. .#.#. .###. ..... ###.. ..#.. ..#.. ..### ..... 出力 2 説明 4つのL字型ブロックに分割できます。 # ### 事例2 入力 #... ##.. .#.. .##. .##. #### .... .... 出力 2 説明 次のように形状を分割できます: A... AA.. .A. .BB. .AA. BBAA .... .... …

4
先行および苦しみ番号
前書き: オランダ語では、「ライデン」と「ライデン」である主導と苦しみの単語は、同じように発音されます。1つは「short ei」で、もう1つは「long ij」で書かれています。これは、オランダ人が言うように、「ei」と「ij」の両方が発音されます[ɛi]。 チャレンジ: 数値のリストを与えられて、どれが(もしあれば)先行しているか、どれが(もしあれば)苦しんでいるかを判断します。 主な数値は次のとおりです。 正の数 4桁以上 価値に関してリストの上位50%にある 3桁目が2桁目で置き換えられ、2桁目が0で埋められている場合(つまり、1234になる1024)、値の面でリストの上位50%にあります。 苦しんでいる数は: 負の数 4桁以上 価値の点でリストの最低50%にある 3桁目が2桁目で置き換えられ、2桁目が0で埋められている(つまり、-4321になる-4031)場合、値の点でリストの最下位50%にあります。 例: 入力:[5827, 281993, 3918, 3854, -32781, -2739, 37819, 0, 37298, -389] 出力:リーディング:[5827, 281993, 37819, 37298]; 苦しみ:[-32781, -2739] 説明: 数値をソートして2つに分割すると、次のようになります。 [[-32781, -2739, -389, 0, 3798], [3854, 3918, 5827, 37819, 281993]] 少なくとも4桁の負の数は2つしかありません[-32781, -2739]。上記のように数字を変更しても、それらの位置は変更されないため、どちらも数字に悩まされています。 最も大きい半分の場合、すべての数値は少なくとも4桁です:[3854, 3918, 5827, …

1
スライド検索
おかげで、叔父(物語) 私の少し気違いの叔父は最近スペースコロニーに向けて出発し、彼のパレット商品事業を私に渡しました。長方形の倉庫には、ドアの横にある1つの正方形を除いて、商品のパレットがたくさんあります。今日、顧客から注文されたパレットの最初のリストが届きました。 幸いにも、各パレットの場所を注意深く書いた地図があり、私の狂った叔父は、スライドする15パズルのように、パレットを隣接するスペースに移動できるいくつかのミニロボットを設計しました。パレットがどこに行き着くかは気にしませんが、リストにあるパレットがドアの順に到着するようにしたいだけです。 問題は、必要なパレットを取得するために、ロボットにどのような一連のコマンドを与えなければならないかです。 チャレンジ 与えられた グリッドのサイズ(行、列) 順番に取得するパレットのリスト(現在の場所別) 移動する位置と方向に対応するグリッド位置のリストを出力する必要があります。利用できる方向が1つしかない場合は、オプションで省略できます。パレットはドアのそばに到着するとすぐに削除されます(1つのコーナー、例ではインデックスN)。 働いた例 01 02 label the contents A B 03 04 C D 05[ ] E _ Request: 03 (contents is C) Command 0: 04 D moves into the (only) adjacent space at index 06 Result: A B C _ E D …

26
数字は友好的ですか?
2つの数値は、最初の数値の適切な除数合計が2番目の数値と同じで、2番目の数値の適切な除数合計が最初の数値と等しく、最初と2番目の数値が等しくない場合、友好的と見なされます。 S(x)の適切な約数和であると定義しましょうx。220と284は、友好的な理由はあるS(220) = 284とS(284) = 200。 あなたの仕事は、当然のことながら、入力された2つの数値が友好的かどうかを判断することです。入力は正の整数であり、友好的かどうかの2つの異なる一貫した値を出力できます。 これはOEISシーケンスA259180です これはコードゴルフなので、最短のコードが優先されます。 テストケース input, input => output 220, 284 => 1 52, 100 => 0 10744, 10856 => 1 174292, 2345 => 0 100, 117 => 0 6, 11 => 0 495, 495 => 0 6, 6 => 0

3
アナグラムを解く
参照:Granma loves Ana 小文字のASCII文字列が与えられます。この辞書ファイル(更新済み)を使用して、アナグラムを解くことです。アナグラムを解くには、改行で区切られた入力文字列の各文字を使用して形成できるすべての単語または単語のグループを出力する必要があります。同じ単語の異なる順序でのグループは一意ではないため、個別に出力しないでください。ただし、単語の順序は関係ありません。出力ソリューションの順序も重要ではありません。入力が単語を形成できない場合、何も出力しません。 いくつかの有用なテストケース: Input: viinlg Output: living Input: fceodglo Output: code golf Input: flogflog Output: golf golf Input: ahwhygi Output: highway high way Input: bbbbbb Output: ルール/警告: 辞書リストには、好きな方法でアクセスできます。コマンドライン引数、標準入力、ファイルからの読み取り、またはインターネットからの読み取りはすべて受け入れられます。 入力は小文字のASCII文字のみで構成されます。特定の場合に結果を出力する必要はありません。 既に有効な単語を形成する文字列は与えられません(ただし、などの複数の単語を形成する文字列が与えられる場合がありますbluehouse)。 末尾の改行は許可されますが、必須ではありません。 標準の抜け穴が適用されます。 これはcode-golfです。バイト単位の最短コードが優先されます。幸運を!

1
分数フレンジー!
編集:私はこれが終了しないことについて多くのコメントを受け取っています-私は私に与えた最初の人にFF(3)(正しい答えでそれを提供するように)「正解」タグを与えるか、それFF(3)が本当に無期限に爆破することを証明します。 仕事: あなたの仕事はFF(n)、正の整数を与えられた分数フレンジー関数()の逆数のリストを生成する可能な限り最小のプログラムを作ることnです。 前書き: FF関数を紹介する前に、まずエジプトの分数について説明する必要があります。 エジプトの分数: エジプトの分数は、分数を個別の単位分数の合計として表す方法5/8です1/2 + 1/8。したがって、分数を表す1つの方法はです。それは他の分数の合計ではありません 1/4 + 1/4 + 1/8 1/2 + 1/16 + 1/16 すべての分数が異なるわけではないためです(1/4最初の例と1/162番目の例で繰り返されます)。 エジプトの分数の定義では、単位分数にも負の分母の使用を含めています。 FF関数: FF(Fraction Frenzy)関数は次のように記述されます: FF(1)エジプトの分数1/2 + 1/3 + 1/5 + 1/-30です。 FF(2)FF(1)単独で「乗算」に等しい(FF(1)「二乗」): (1/2 + 1/3 + 1/5 + 1/-30)(1/2 + 1/3 + 1/5 + 1/-30) = 1/4 + 1/6 + …

4
Doppelkopfスコアの計算
前書き Doppelkopfは、4人用の伝統的なドイツのカードゲームです。デッキは48枚のカード(すべてのカードがゲームに2度ある間、各スーツの9、10、ジャック、クイーン、キング、エース)で構成されているため、ラウンドの開始時に各プレイヤーは12枚を受け取ります。 クイーンズオブクラブの配分によって決定されるチームは常に2つあります。クイーンズを保持している2人のプレーヤーがチームを形成し、他の2人のプレーヤーと対戦します。クィーンズオブクラブのチームは「リ」チームと呼ばれ、ないチームは「コントラ」チームと呼ばれます。 ラウンドの開始時には、誰がどのチームにいるかは誰にもわかりません。チームの分布はラウンドの進行中に明らかになり、ゲームに多くの戦略が追加されます。 ゲームは12のトリックで構成されています。トリックを獲得したプレーヤーは、その中に4枚すべてのカードを取得します。すべてのカードには特定の値(たとえば、キングカウント4、エースカウント11)があり、すべてのカードを合計すると240ポイントになり、最高の結果になります。 ラウンドの終了時にポイントがカウントされ、ポイントが最も多いチームがラウンドに勝利します。その後、次のラウンドが始まります... チャレンジ 各ラウンドには、勝利チームが獲得したポイントの量と潜在的なアナウンスによって決定される特定のスコアがあります。ポイントの分布と潜在的なアナウンス(以下の説明を参照)を入力として受け取り、ラウンドと勝者のスコアを出力するプログラムを作成する必要があります。 スコア計算 前述のように、再チームとコントラチームがあります。また、1ラウンドで最大240ポイントが可能です。Retraチームは121ポイントを獲得する必要がありますが、Contraチームは120ポイントしか必要としません。ゲームに勝つと思われる場合は、ラウンドの開始時に「Re」または「Contra」を発表する可能性もあります。 。これを行うことにより、あなたはスコアを上げています。 スコアリングルールは次のとおりです。 ゲームに勝つための+1 負けたチームのポイントが90 未満の場合は+1 ( "Keine 90") 負けたチームのポイントが60 未満の場合は+1 ( "Keine 60") 負けたチームのポイントが30 未満の場合は+1 ( "Keine 30") 負けたチームの得点が0の場合は+1( "Schwarz") +2 Contraの発表 +2 Reの発表 コントラチームが勝利した場合は+1( "Gegen die Alten") 注:受賞者に関係なく、Re / Contra-Announcementsは常に適用されます。以下のテストケースの例を参照してください。 入出力 プログラムへの入力は、リチームのスコアと、リまたはコントラの潜在的なアナウンスになります。ゲームには常に240ポイントあるので、コントラチームのスコアを簡単に計算できます。 入力は、最初にリチームのスコアがあり、その後に潜在的なアナウンスが続く単一の文字列になりますが、「R」はRe、「C」はContraです。両方が発表された場合、Reは常に最初に来るでしょう。 出力は、勝利チームが後に続くゲームのスコアになります(コントラの場合は「C」、Reの場合は「R」) ルール 提出物は、完全なプログラムまたは関数にすることができます。後者を選択する場合は、それを呼び出す方法の例を含めてください。 入力は、関数またはコマンドライン引数またはユーザー入力によって提供できます。 出力は戻り値として提供するか、画面に出力できます。 標準の抜け穴が適用されます。 …

7
親文字列内のアナグラムを検出する
親文字列とクエリ文字列の2つの文字列が与えられた場合、タスクはクエリ文字列の回数、またはクエリ文字列のアナグラムを決定することです。大文字と小文字を区別した検索で、親文字列に表示されます。 行動の例 入力1 AdnBndAndBdaBn dAn 出力1 4 説明 サブストリングは以下の太字で強調表示されています。 Adn BndAndBdaBn AdnB ndA ndBdaBn AdnBn dAn dBdaBn AdnBnd および BdaBn 検索はすべての検索で大文字と小文字を区別する必要があることに注意してください。 入力2 AbrAcadAbRa cAda 出力2 2 これは、標準のASCIIでのみ機能する必要があります。これはコードゴルフであるため、最短の文字数で承認されます。また、ゴルフ版ではなく、ゴルフ版ではないコードを投稿してください。

1
HappyCubeパズルソルバー
このチャレンジは、私がプレイしたパズルに触発されました。 これらは、次のように3Dキューブに組み立てる必要があります。 パズルのピースは5 * 5の正方形のグリッドとして見ることができ、その中央の3 * 3の正方形は常に塗りつぶされていますが、端にある16の正方形は塗りつぶされていても空でもかまいません。 ピースは、左端から時計回りにエッジの構成(=空、=ソリッド)を表す16文字(0sおよび1s)の文字列を使用して説明されます。01 たとえば、次の文字列: 0101001000101101 この作品を表します: # # #### #### #### # # ピースを合わせてキューブを形成するために、すべてのピースを任意の方向に回転させることができます。たとえば、これらは上記のピースの有効な回転です。 # # # # # ## # #### #### #### #### #### #### #### #### #### #### #### #### # # # # ## # # # # # # # …

11
印刷できないすべてのASCII文字を取り除く
あなたのチャレンジは、それを受け入れるようにコーディングされている場合、次のように実行されます。 実装するには、次の2つの課題のいずれかを選択できます。 チャレンジ#1 ファイルから読み取る a.txt 印刷可能なASCII文字(値32-126)のみをファイルに書き込みます b.txt 課題#2 ファイルを使用してa.txt、印刷可能なASCII文字(値32-126)を除き、ファイル内のすべての文字を削除 スペック a.txt a.txt プレーンテキストファイルで、0〜255のASCII値(未定義/制御も含む)を含めることができ、そのサイズは最大1 GBです。 勝利 バイト数でソースコードの量が最も少ない答えが優先されます。
9 code-golf 

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