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

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

10
リストを最小限の行列に並べ替える
一意の厳密に正の整数のソートされていないリストが与えられた場合、最小限で2Dマトリックスにソートします。入力リストは複合長であることが保証されています。つまり、出力行列は必ずしも正方形ではなく、サイズがn x mとn,m > 1。 ここでの「最小ソート」とは、次のことを意味します。 リストを昇順で並べ替えます。 出力行列を可能な限りコンパクトにします-行列の次元の合計を最小化し20ます(たとえば、入力として入力要素の5x4場合、aではなくa または4x5output行列が必要です2x10)。 ソートされたリストの最初の要素から始めて、ソートされた数値を可能な限りマトリックスの左上まで圧縮します。 これは、リストを並べ替えてから、マトリックスの対角線に沿って左上からスライスすることと考えることができます。 例: 入力の1..20場合、出力は次のように5x4または4x5マトリックスです。 1 2 4 7 11 3 5 8 12 15 6 9 13 16 18 10 14 17 19 20 1 2 4 7 3 5 8 11 6 9 12 15 10 13 16 18 14 …

14
中国の9 * 9マルチテーブルをゴルフ
次の表を出力します。 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六 一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九 一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四 一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一 または、一部の言語が中国語の文字をサポートしていない場合、英語の単語の最初の3文字を使用できます。 OneOneGetOne OneTwoGetTwo TwoTwoGetFou …

7
ロシアのネスティングクイン
より一般的として知られているロシアのネスト人形、マトリョーシカ人形は、自身の小さいバージョンを含む人形、あるその後自体の別のより小さなバージョンを含む、自身の小さいバージョンを含む、それ自体の小型版が含まれ、これそれ自体の小さなバージョンが含まれています...-最後まで、最後のものは空です。例: 今日、あなたの目標は、それ自体がN回含まれるとき、それ自体のN-1個のコピーを含む自身を印刷するプログラムまたは関数を書くことにより、このロシアの伝統をエミュレートすることです。 たとえば、人形プログラムabcdのN = 3プログラムabababcdcdcdは、N = 2プログラムababcdcdを印刷し、元のN = 1プログラムを印刷し、abcd最終的にN = 0(空)を印刷します。これは、Nの合理的な値に対して理論的に機能するはずです。 ルール: プログラムに基づいて人形プログラムを生成するのに役立つTIOプログラムを次に示します。 標準クインルールが適用されます 標準の抜け穴が適用されます 「含む」とは、前のバージョンの中心に直接あることを意味するため、ソリューションには正の偶数バイトが必要です。長さ10のプログラムでは、5バイト目の後に元のコピーが挿入され、10バイト目の後に別のコピーが挿入されます。 単一の末尾の空白が出力で許可されます これはcode-golfなので、目標はN = 1プログラムをできるだけ短くすることです。 コードの説明をいただければ幸いです

25
工場労働者
チャレンジ 工場労働者は通常非常に勤勉です。しかし、彼らの仕事は現在一般的に機械に置き換えられています。 入力として数値を取るプログラムを作成する必要があります。10人の労働者の工場を10回印刷します。毎回、各労働者は1/input「解雇」され、機械に置き換えられる可能性があります。 入力 STDINまたは関数呼び出しからの整数。 出力 工場の10件、通常より多くの労働者がそれぞれ解雇された。 出力形式-工場を印刷する方法 工場は次のようになります。 |0000000000| または |0000011001| パイプは壁を表し、0は作業者を表し、1は機械を表します|0000000000|。したがって、工場の最初の印刷は常にになります。 例 入力:10 出力: |0000000000| //always start off with this |0000000010| //a 1/10 chance means that this worker lost his job |0000010010| |0010010010| |1010010010| |1010110010| |1010110011| |1010111011| |1010111111| |1110111111| 入力:5 出力: |0000000000| //always start here |0000001001| //a 1/5 …

2
ボイドアルゴリズムを実装する
前書き Boidsアルゴリズムは、グループ内の緊急行動の比較的簡単なデモです。作成者のクレイグ・レイノルズが説明するように、3つの主要なルールがあります。 基本的な植毛モデルは、個々のボイドが近くの植生仲間の位置と速度に基づいてどのように操作するかを記述する3つの単純なステアリング動作で構成されます。 分離:地元の群れが混雑しないように操縦します。 アライメント:地元の群れの平均的な方向に向かってください。 結束:地元の群れ仲間の平均的な位置に向かって移動するように操縦します。 各boidは、シーン全体の幾何学的記述に直接アクセスできますが、群れを作るには、周囲の特定の小さな近傍内の群れだけに反応する必要があります。近傍は、ボイドの中心から測定された距離とボイドの飛行方向から測定された角度によって特徴付けられます。この近隣地域の外の群れは無視されます。近隣は、限られた知覚のモデルと考えることができます(濁った水中の魚など)が、群れ仲間がボイドのステアリングに影響を与える領域を定義するものと考える方がおそらく正しいでしょう。 私は物事を説明するときに完璧ではないので、ソースをチェックアウトすることを強くお勧めします。また、彼のサイトには非常に有益な写真がいくつかあります。 チャレンジ ボイド(シミュレートされたエンティティ)の数とフレームの数を指定して、シミュレーションのアニメーションを出力します。 ボイドは赤い円としてレンダリングされる必要があり、円の内側の線はヘディングを示します。これは、ボイドが指している方向です。 各ボイドの角度(レイノルズによる説明)は、完全な300度である必要があります。(360ではない) 各boidの開始見出しと位置は、位置と同様に、ランダムに(ただし、シードされているため、出力はまだ確定されている)必要があります。 ボイドの半径が1の場合、近傍の半径は3でなければなりません。 boidの数は2〜20の範囲です。 フレームの数は1〜5000のいずれかになります アニメーションは、フレームごとに最小10ミリ秒、最大1秒でボイドの数で再生する必要があります。(2ボイド=フレームあたり最大2秒、3ボイド=フレームあたり最大3秒など) 出力アニメーションは、少なくとも5ボイド半径x 5ボイド半径、半分のボイド数の倍数である必要があります。したがって、2ボイドの最小サイズは10ボイド半径x 10ボイド半径であり、3ボイドの最小サイズは15ボイド半径x 15ボイド半径などです。 各boidの半径は、最小で5ピクセル、最大で50ピクセルでなければなりません。 各boidの速度は、1フレームで半径の1/5を超えて移動しないように制限する必要があります。 出力は確定的である必要があるため、同じ入力が複数回実行された場合に同じ出力を生成します。 ボイドが境界に達すると、反対側に戻ります。同様に、各boidの周囲も境界を囲む必要があります。 アルゴリズムの規則 この場合、各Boidの周囲には、Boidの見出しを中心とした300度に及ぶセクターがあります。この「近傍」の他のboidは、「近傍」、または(レイノルズの用語を使用すると)「群れ」と見なされます。 各ボイドは、衝突を回避し、1つのボイド半径と隣接するボイドの快適な距離を維持するために、見出しを調整する必要があります。(これはアルゴリズムの「分離」の側面です。1つの半径をバイパスすることもできますが、ゴムバンドのように、元の位置に戻ります。) 各ボイドは、最初のルールに干渉しない限り、さらに他のボイドの平均ヘディングに近づくように、ヘディングを調整する必要があります。(これはアルゴリズムの「アライメント」の側面です) 衝突が発生しないか、2番目のルールを大幅に妨害しない限り、各ボイドは群れの平均位置に向かって回転します。 この件に関する彼の論文で、彼はこれを次のように説明しています。 シミュレートされた群れを構築するには、幾何学的飛行をサポートするボイドモデルから始めます。衝突回避の反対の力と群れに参加する衝動に対応する行動を追加します。ルールとして簡単に述べますが、優先順位の高い順に、群れのシミュレーションにつながる動作は次のとおりです。 衝突回避:近くの群れとの衝突を回避 速度マッチング:速度を近くの群れと一致させようとします 群れの中心化:近くの群れの近くにとどまることを試みる 動きのより詳細な説明: Boidsアルゴリズムの標準実装では、通常、各ルールの計算を行い、それを一緒にマージします。 最初のルールでは、boidは近傍内の隣接boidのリストを通過し、それ自体と近傍との距離が特定の値よりも小さい場合、boidを隣接から遠ざけるベクトルがboidの見出しに適用されます。 2番目のルールでは、ボイドはその隣の平均ヘディングを計算し、現在のヘディングと平均ヘディングの差のわずかな部分(このチャレンジでは1/10を使用します)を現在のヘディングに追加します。 3番目の最後のルールでは、boidはその近傍の位置を平均し、この位置を指すベクトルを計算します。このベクトルは、ルール2に使用されたものよりもさらに小さい数で乗算され(このチャレンジでは、1/50が使用されます)、見出しに適用されます。 次に、ボイドは見出しの方向に移動します ここ Boidsアルゴリズムの有用な擬似コードの実装があります。 入力と出力の例 入力: 5、190(5ボイド、190フレーム) 出力: 勝利基準 これはcode-golfであるため、バイト単位の最小のソリューションが優先されます。

9
Bracksを埋める
通常のブラケット(()、[]、<>とは{})しかし、誰かがそれを括弧のような非括弧文字を使用することをお勧めだろうと思った、素晴らしく、明確なです。これらの文字|と"があいまいです。たとえば """" 対応する (()) または ()() 言うことは不可能です。 曖昧な括弧の種類を混ぜると、物事が面白くなり始めます。たとえば、 "|""||""|" 次のいずれかです ([(([]))]),([()[]()]),([()][()]) 仕事 あなたの仕事は、あいまいな文字で作られた文字列を取得し、作成者が意図した可能性のあるすべてのバランスの取れた文字列を出力することです。 交換行うことができ、より具体的にあなたの出力のすべてのバランスの文字列|のいずれかと[か]と"どちらかと(か)。バランスの取れた文字列を2回出力しないでください。 IO 入力として、|とで構成される文字列を使用する必要があります"。あなたは以外に二つの異なる文字を選択したい場合|や"、あなたがそうすることができる代替品として機能します。バランスの取れた文字列のコンテナを出力する必要があります。あなたは置き換えることを選択すること[]と、()(他の2ブラケットのペアを使用して出力して()、[]、<>または{}あなたが望みます)。出力形式は実行間で一貫している必要があります。 得点 これはコードゴルフですため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テストケース "" -> ["()"] "|"| -> [] ||| -> [] """" -> ["(())","()()"] ""|| -> ["()[]"] "|"||"|" -> ["([([])])"] "|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]

2
シャッフルの数
リフルシャッフルはシャッフルの一種で、デッキが2つのパーティションに分割された後、パーティションがスプライスされて新しいシャッフルデッキが作成されます。 カードは、カードがメンバーであるパー​​ティション内で相対的な順序を維持するように接続されます。たとえば、カードAがデッキのカードBの前にあり、カードAとBが同じパーティションにある場合、カードAが最終結果のカードBの前にある必要があります。場合はAとBが異なるパーティションにある、彼らは最終的な結果に関係なく、自分の順番の、任意の順序にすることができます。 各リフルシャッフルは、カードの元のデッキの順列として見ることができます。たとえば、順列 1,2,3 -> 1,3,2 リフルシャッフルです。このようにデッキを分割すると 1, 2 | 3 のすべてのカード1,3,2は、パーティション内の他のすべてのカードと同じ相対的な順序を持っていることがわかります。 2まだ後1です。 一方、次の順列はリフルシャッフルではありません。 1,2,3 -> 3,2,1 これは、2つの(重要な)パーティションすべてに対して 1, 2 | 3 1 | 2, 3 相対的な順序を維持しないカードのペアがあります。最初のパーティション1で2順序を変更し、2番目のパーティション2で3順序を変更します。 ただし3, 2, 1、2つのリッフルシャッフルを作成することで作成できることがわかります。 1, 3, 2 + 2, 3, 1 = 3, 2, 1 実際、証明すべき非常に単純な事実は、いくつかのリフルシャッフル順列を組み合わせて、順列を作成できることです。 仕事 あなたの仕事は、入力として(サイズNの)順列を取り、入力順列を形成するために組み合わせることができる(サイズNの)最小数のリフルシャッフル順列を出力するプログラムまたは関数を作成することです。リッフルシャッフル自体を出力する必要はありません。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 恒等置換の場合、1または0を出力できます。 テストケース 1,3,2 -> 1 …

23
幾何学的シーケンスを推測する
Haskellには、この3つの数字を与えることができ、それらから算術シーケンスを推測できるこのすっきりした(-見える)機能があります。たとえば、[1, 3..27]はと同等[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27]です。 それはクールで、算術シーケンス以外はすべてかなり制限されています。また、pfft。乗算はどこにあるのか [1, 3..27]戻るような幾何学的なシーケンスを実行した方がクールではないでしょう[1, 3, 9, 27]か? チャレンジ 書き込みプログラム/機能 3つの正の整数かかり、B、及びCと出力xは最大整数≤であるCとして表すことができるここでnは正の整数です。[a, b, b × (b ÷ a), b × (b ÷ a)2, ..., x]b × (b ÷ a)n つまり、出力はrである必要があります。 r0 = a r1 = b rn = …

2
Goodsteinシーケンスを出力する
(これはかなり古典的かもしれませんが、これはここでの私の最初の投稿なので、私はまだ派手なものの準備ができていません) グッドスタイン配列は、以下のように、入力数に対して定義されます。 開始番号を選択N、聞かせてB = 2と繰り返し: 基数bの表記でnを書く nのすべての(b)を(b +1)に置き換え、1を減算します nの新しい小数評価を出力します インクリメントb 遺伝基数表記は、基数が出現するより大きな数である場合の数の分解です。例: 83 HB3で: 3^(3+1)+2 226 HB2で: 2^(2^(2+1))+2^(2+1)+2 グッドスタインシーケンスは常に0になりますが、最初は非常に速く非常に大きくなる傾向があるため、完全なシーケンスを出力する必要はありません。 仕事: 適切な形式の入力番号が与えられた場合、あなたの仕事は、少なくとも10 ^ 25または0に達するまで、この番号のGoodsteinシーケンスを出力することです 例: Input: 3 Output: 3, 3, 3, 2, 1, 0 Input: 13 Output: 13, 108, 1279, 16092, 280711, 5765998, 134219479, 3486786855, 100000003325, 3138428381103, 106993205384715, 3937376385706415, 155568095557821073, 6568408355712901455, 295147905179352838943, …

12
オリンピックリングシーケンス
チャレンジ: インデックス整数を指定するとn、nこのシーケンスの 'th番目のアイテムを出力するか、index までのシーケンスを出力しますn: 25,25,7,28,29,20,21,22,23,14,35,26,7,28,29,20,16,29,12,15,28,21,14,17,30,13,16,29,12,15,28,21,10,6,12,18,15,11,7,13,19,17,13,9,15,21,18,14,10,16,22,19,15,11,17,23,20,16,12,18,24,21,17,13,19,25,23,19,15,21,27,24,20,16,22,28,25,21,17,23,29,16,13,9,15,21,18,14,10,16,22,20,16,12,18,24,21,17,13,19 このシーケンスはどのように機能しますか? 注:この説明でnは、インデックスは1から始まります。長さの2行に 数字1を入力xしますn*6 - 1。ここxで、現在の反復と使用する数字の長さに依存し、nそれら2行の'右/右端のオリンピックリングの数字を合計します。 シーケンスの最初の数は次のように計算されます。 The length of the lines are 5 (because 1*6 - 1 = 5): 12345 67891(0) Then leave the digits in an Olympic Rings pattern: 1 3 5 7 9 And sum them: 1+3+5+7+9 = 25 だから、n=1その結果25。 シーケンスの2番目の数は、次のように計算されます。 The length …

7
ヒルベルトのバイナリーホテル
この課題では、2つの特性を満たす機能(または完全なプログラム)を実装するよう求められます。これらのプロパティは次のとおりです。 関数は、非負の整数に対する非負の整数係数を持つ多項式からの単射(可逆)関数でなければなりません。これは、2つの等しくない入力が等しい出力にマップできないことを意味します。 関数は、入力から出力までの「オンビット」の総数を保持する必要があります。つまり、多項式の各係数の1ビットをカウントする場合、それらの合計は出力のバイナリ表現の1ビットの数と同じでなければなりません。例えば9ある1001ことが2つの持つようにバイナリ1ビット。 IO 非負の整数多項式は、特定のポイントの後、すべての整数がゼロになるような非負の整数の無限リストと同じです。したがって、多項式は、無限リスト(おそらく望ましくありませんが)またはリストの末尾の後に暗黙のゼロを持つ有限リストのいずれかで表されます。 多項式と有限リストの主な違いは、リストの末尾にゼロを追加するとリストが変更されることです。 多項式の最後にゼロを追加しても、その値は変わりません: したがって、関数が入力として多項式を表す有限リストをとる場合、ゼロを追加しても結果が変わらないようにする必要があります。 多項式をリストとして表す場合、定数項を表す最初または最後のエントリでそれらを表すことができます。たとえば、次のいずれかの可能性があります。 最初のケースでは、リストの最後にゼロを追加しても結果は変わりません。2番目の場合、リストの先頭にゼロを追加しても結果は変わりません。 もちろん、言語が多項式をサポートしている場合、それらを入力として使用できます。 出力は、任意の標準的な方法による非負の整数出力でなければなりません。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。

13
パスカルプライムですか?
奇数の素数がパスカルの三角形に正確に2回現れることはよく知られています。ただし、パスカルの三角形に正確に2回現れるすべての数値が素数であるとは限りません。これらの数字をパスカル素数と呼びます。 パスカル素数は、パスカルの三角形に正確に2回現れる複合数です。最初のいくつかのパスカル素数は 4, 8, 9, 12, 14, 16, 18, ... あなたの挑戦は、nがパスカル素数であるかどうかに応じて、正の整数nを入力および出力としてtrueまたはfalseにすることです。これはコードゴルフなので、最短のプログラムが勝ちです!

2
シールドウォール
歴史的背景 遮蔽壁は、日付がバックにいることを戦術的な戦争の形成である少なくとも 2500 BC。それは、「壁」を形成するために、彼らの盾と仲間の盾を重ねる戦士で構成されていました。戦術の魅力は、最も熟練していない戦士でさえ、盾と武器を持っていれば壁で戦うことができるという事実に由来しています。壁が近接しているため、動き回るスペースがほとんどなく、戦闘は通常、鋭い武器で戦う必殺の試合になりました。 チャレンジ あなたのタスクは、入力として戦士の2つの配列/リスト/ベクトルを与えられ、戦いの結果を決定するプログラムまたは関数を作成することです。リストはシールドの単一行の壁を表し、特定の表記法に従います。 バイキング: 北欧の戦士たちは激しい戦いを繰り広げました。8世紀後半から11世紀半ばにかけて、デンマークのバイキングが英国王国に侵入し、富と農地を探しました。この挑戦のために、これらはバイキングの戦士です: Jarl:通常、壁の中央から部下を率いているのが見つかりました。ジャールはバイキングの大群のリーダーでした。死ぬために15ダメージを受け、ラウンドごとに2ダメージを与えます。 The Berserker:ファンタジーはバーサーカーのイメージを大きく変えましたが、これらの戦士は盾以外の保護なしでトランスのような怒りで戦うことが知られていました。死ぬために6ダメージを受け、ラウンドごとに3ダメージを与えます。 Chieftain:ザ・チーフタンズが彼らのサービスで無料の男性が持っていた金持ちの男性でした。彼らは通常、戦いで大きな栄光と富を獲得していたでしょう。死ぬまでに10ダメージを受け、ラウンドごとに2ダメージを与えます。 フリーMen:族長に仕えた戦士。彼らは死ぬまで領主のために戦うと誓った。死ぬために8ダメージを受け、ラウンドごとに1ダメージを与えます。 Skald:Skalds、通常バードとして翻訳は、北欧の戦士たちの偉業についての詩、物語や歌を書くために雇われた自由人の男性でした。死亡するのに8ダメージを受け、隣接する各戦士に1ボーナスダメージを与えます。スカルドはダメージを与えません。戦士はこの方法で1つ以上のボーナスダメージを得ることができません。 サクソン: 5世紀にローマ帝国が崩壊した後、サクソン人はヨーロッパ大陸からイギリスに定住するようになりました。この挑戦のために、サクソン人の戦士がいます: EARL:Ealdormen、一般アールズと呼ばれるが、高い貴族のメンバーでした。彼らは通常、大規模な土地を持ち、何百人または何千人もの宣誓者がいました。死ぬまでに20ダメージを受け、1ラウンドにつき1ダメージを与えます。 K夜:より良い用語の欠如のために、騎士は、いくつかの土地を所有していたマイナーな貴族でした。ほとんどの場合、騎士は伯爵の宣誓奉公人でした。死ぬまでに10ダメージを受け、ラウンドごとに2ダメージを与えます。 Warrior:一般的な男性、通常はマイナーな貴族の土地や騎士を務めた農民なし。騎士または伯爵に隣接している場合、戦士には+1のダメージボーナスがあります。死ぬまでに8ダメージを受け、ラウンドごとに2ダメージを与えます。 FYRD:Fyrdは、彼らが壁に戦うために持っていた武器(あるいは武器のような実装農業を)持って来るだろうと自由人のグループのような民兵-、通常は貧しい農民でした。死ぬために5ダメージを受け、ラウンドごとに1ダメージを与えます。 P司祭:司祭は神の言葉の先駆者であり、初期のサクソン文化で高く評価されていました。司祭は死ぬために15ダメージを受け、隣接する各戦士に与えられる最大1ダメージを防ぎます。司祭はダメージを与えません。司祭は戦士への1つ以上のダメージを防ぐことはできません。 壁 壁はそれぞれのセンターで出会う。各ラウンドでは、各戦士はその前にいる戦士にダメージを割り当てます。前に生きている戦士がいない場合、残りのヘルスが最も少ない斜めに隣接する生きている戦士に割り当てます。同点の場合は、壁の端に近い戦士を選択します。 例: Vikings [M,M,M,B,B,C,J,C,B,B,M,M,M] [F,F,F,W,W,K,E,K,W,W,F,F,F] Saxons To make matters easier, let's convert these walls into numbers: Round 0: M M M B B C J C B B …

2
正規表現:平等主義シリーズに一致
前書き 私はここで多くの正規表現の挑戦を見ていませんので、いくつかの正規表現のフレーバーを使用していくつかの方法で行うことができるこの一見単純なものを提供したいと思います。正規表現愛好家にちょっとしたゴルフの時間を提供してくれることを願っています。 チャレンジ 挑戦は、私が「平等主義」シリーズと非常に大まかに言ったものと一致させることです:異なるキャラクターの等しい数のシリーズ。これについては、例を挙げて説明するのが最適です。 一致: aaabbbccc xyz iillppddff ggggggoooooollllllffffff abc banana 一致しない: aabc xxxyyzzz iilllpppddff ggggggoooooollllllfff aaaaaabbbccc aaabbbc abbaa aabbbc 一般化するために、我々は、(フォームの件名を一致させたい任意の文字のリストについては、に、すべてのためにc1)n(c2)n(c3)n...(ck)nc1ckci != ci+1i, k > 1, and n > 0. 明確化: 入力は空になりません。 文字は文字列の後半で繰り返される場合があります(例: "banana") k > 1、したがって、文字列には常に少なくとも2つの異なる文字があります。 ASCII文字のみが入力として渡され、文字が行末記号になることはないと想定できます。 ルール (この非常に明快な規則のブロックについてMartin Enderに感謝します) 答えは、追加のコードを含まない単一の正規表現で構成する必要があります(オプションで、ソリューションを機能させるために必要な正規表現修飾子のリストを除く)。ホスティング言語でコードを呼び出すことができる言語の正規表現フレーバーの機能(Perlのe修飾子など)を使用しないでください。 このチャレンジの前に存在していた正規表現フレーバーを使用できますが、フレーバーを指定してください。 たとえば、Pythonを使用している場合、正規表現がre.matchではなくre.searchで使用されていると想定してください。正規表現は、有効な平等主義の文字列の文字列全体と一致し、無効な文字列の一致を生成しない必要があります。必要な数のキャプチャグループを使用できます。 入力は常に、ラインターミネータを含まない2つ以上のASCII文字の文字列であると想定できます。 これは正規表現のゴルフであるため、バイト単位の最短正規表現が優先されます。言語で/.../正規表現を表すために区切り文字(通常は)が必要な場合は、区切り文字自体をカウントしないでください。ソリューションで修飾子が必要な場合は、修飾子ごとに1バイトを追加します。 基準 これは昔ながらのゴルフですから、効率を忘れて、正規表現をできるだけ小さくしてください。 使用した正規表現フレーバーに言及し、可能であれば、実際の表現のオンラインデモを示すリンクを含めてください。

30
合計がnになる個別の整数の最大数を見つける
タスク 入力の正の整数n(1から使用言語の制限まで)が与えられると、合計がである個別の正の整数の最大数を返すか出力しnます。 テストケース fタスクに従って有効な関数を定義しましょう。 f1から始まるのシーケンス 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, ... より大きなテストケースとして: >>> f(1000000000) // Might not be feasible with brute-forcers 44720 テストコード 明示的に指定されていないテストケースの場合、コードの出力は次の結果と一致する必要があります。 public class Main { public static void …

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