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

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

11
歴史宿題ヘルパー
歴史を読んだりメモをとったりするので、これらの長い日付をすべて書くことにうんざりするしかありません。うん! ご覧のとおり、私は–このサイトのほとんどのチャレンジポスターと同じように–ものを書くことに関しては怠け者です。したがって、いくつかの日付を短くしてください。私の手はすでに疲れているのでもちろん、あなたのソリューションは、できるだけ短くしなければなりません書き込みテストケース外にタイピングを。 日付を短くするにはどうすればよいですか? おもしろいですね とても簡単です: 任意の順序((smallest, biggest)または(biggest, smallest))で入力として2つの整数を受け取ります。 2つの数値のうち大きい方を使用し、小さい方ではない部分のみを使用します。 たとえば、が与えられた場合、両方が同じ桁位置にあるため2010, 2017、に短縮さ2017れます。-7201_ 小さい数字を印刷するか返すか、ダッシュを押してから短い数字を短くしてください。 例えば: Bonus brownies for you if you figure out these dates' significance :) 1505, 1516 -> 1505-16 1989, 1991 -> 1989-91 1914, 1918 -> 1914-8 1833, 1871 -> 1833-71 1000, 2000 -> 1000-2000 1776, 2017 -> 1776-2017 2016, …
12 code-golf  number 

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

12
ゼロのように丸く
ゴール 入力番号が与えられたら、1桁の有効数字で最も近い数値に丸めます。 必要条件 入力 浮動小数点数。 入力数がデータ型の制限内の出力になると仮定します(つまり、オーバーフローエラーを無視します)。 0は無効な入力です。 浮動小数点データ型で正確に表現できない(たとえば"0.35"、として保存されている0.3499999)数値はサポートする必要はありません。 出力 1つの非ゼロ数字と任意の数のゼロ数字で構成される最も近い数字。 結果は負数と小数をサポートする必要があります。 入力が2つの可能な出力の間に正確にある場合、ゼロから切り上げます。 プレゼンテーション プレゼンテーションではなく計算に重点が置かれています。出力は浮動小数点データ型である場合があります。これは、完全な表記または科学表記のテキストのいずれかです。特定の方法を提示することでバイト数が減少する抜け穴が見つかった場合は、称賛に値します! 例 9 -3000 .2 0.2 -.2 7e12 5e-15 1e0 テストケース Input Output 1 1 10 10 17 20 99 100 54321 50000 56789 60000 -123 -100 -789 -800 0.23 0.2 0.25 0.3 -0.25 -0.3 4.56e23 5e23 …
12 code-golf  math 

16
バウンスモジュロ2数
モジュロ演算のグラフ()は次のようになります。y=xmodky=xmodky = x \mod k これは、「ラッピング」動作を作成できるため、非常に便利な機能です。ただし、2つの壁の間で「バウンス」のような外観を作成するために使用する場合、非常に面倒です。「バウンス」関数のグラフ()は次のようになります。y=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k) y = xのグラフの期間は kです。y = バウンス(x 、k )のグラフの周期は 2 kです。これは、 k単位で上方に移動し、さらに k単位で下方に移動してから、開始位置に戻るためです。両方の関数について、 yの最小値は0、最大値は kです(実際、積分入力のモジュラス関数の場合、 k − 1です)。また、両方の関数で、 x = 0の値は0です。y=xmodky=xmodky = x \mod kkkky=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k)2k2k2kkkkkkkyyykkkk−1k−1k-1x=0x=0x=0 チャレンジ 整数と正の整数kを指定すると、y = bounce (x 、k )の整数または浮動小数点近似を返します。xxxkkky=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k) これはcode-golfであるため、最短の有効な送信(バイト単位)が勝ちます。 …

10
Lehmer-Comtetシーケンス
レーマー-Comtet配列は、その配列である(N)であるn個の第誘導体F(X)= X Xに対してXで評価として、X = 1。 仕事 入力として負でない整数を取り、Lehmer-Comtetシーケンスのn番目の項を出力します。 これはコードゴルフなので、ソースコードのファイルサイズを最小限に抑える必要があります。 テストケース OEIS 5727 最初の2つの用語を順番に示します(OEISからコピー) 1, 1, 2, 3, 8, 10, 54, -42, 944, -5112, 47160, -419760, 4297512, -47607144, 575023344, -7500202920, 105180931200, -1578296510400, 25238664189504, -428528786243904, 7700297625889920, -146004847062359040, 2913398154375730560, -61031188196889482880

4
子供向けロボットで遊ぶ-どの手紙に届きますか?
TL; DR:文字の配列と配列の開始位置にあるロボットを指定して、動きのある文字列を読み取ることができるアルゴリズムを書きます(F「進む」、R「右に90度回転する」、「90度L回転する」左」)、ロボットの終了位置を計算します。全文の詳細。 自宅には子供向けの非常にシンプルなプログラム可能なデバイスがあります。ボタンで車両を前進させたり、左に90度回転させたり、右に90度回転させたりするためのボタンがあります。これに似たもの: また、次のような文字のフォームマットもあります。 このすべての目的は、子供たちにアルファベットとプログラミングの基礎の両方を一度に教えることです。 チャレンジ フォームマットを次のようにランダムに配置したとします。 +---+---+---+---+---+---+---+ | E | R | L | B | I | X | N | +---+---+---+---+---+---+---+ | O | A | Q | Y | C | T | G | +---+---+---+---+---+---+---+ | F | W | H | P | D …

30
標準スクラッチとは何ですか?
ゴルフでは、コースの標準スクラッチは次の式を使用して計算されます。 (3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating あなたの仕事は、これらの4つの入力を考慮して、ゴルフコースの標準スクラッチを計算することです。 次の形式の標準形式で入力する必要があります [num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating しかし、バイトを節約する場合、多くの人は異なる方法で入力を受け取ります。 関数から戻るなど、メタで受け入れられたメソッドによって最終結果を出力する必要があります。 これはコードゴルフであるため、最短のコードが勝ちます!
12 code-golf  math  number 

17
キャップ付きストリングラダー
文字列を考えるsと、正の整数N、徐々にまで、より多くの各文字を複製しN、重複した後に滞在Nするまで、重複N離れた端から文字、再びステップダウン。 例えば、与えられたabaloneと3: a we start with 1 copy bb then 2 copies aaa then 3 copies, which is our second parameter lll so we continue using 3 copies ooo until we reach the end nn where we use 2 copies e and then finally 1 copy 結果はになりますabbaaalllooonne。 文字列の長さは以上で2N、からaまでの文字のみであることが保証されていますz。 その他のテストケース: N …
12 code-golf  string 

6
この文字列は有効なFENですか?
チャレンジ 文字列入力を関数パラメーターとして、またはstdinから取得し、それが有効なFEN文字列かどうかを判断するプログラムまたは関数を作成します。 入力 入力には次の文字のみが含まれると想定できます(大文字と小文字が区別されます) pkqrbnPKQRBN12345678/ 入力の長さは常に最小1文字、最大100文字です。 出力 出力は、真偽値でなければなりません。これらは、一貫している限り、任意の値にすることができます(すべての真実の結果は同じ出力を持ち、すべての偽の結果は同じ出力を持ちます)。正確に2つの可能な出力が必要です。 有効とみなされるもの 小文字は黒い部分を表し、大文字は白い部分を表します。 チェスのゲームで、現在の位置にあるピースが存在することを確認する必要があります。 各プレイヤーは常に正確に1つのキング(k / K)を 持ちます。各プレイヤーは8個以下のポーン(p / P)を 持ちます。各プレイヤーは通常1 *クイーン以下(q / Q)を 持ちます。 2 *を超えるルーク(r / R) 各プレイヤーは通常2 *を超える騎士(n / N)を 持たない各プレイヤーは通常2 *を超える司教(b / B)を持たない* プレイヤーが「これら4つのピースのいずれかにポーンをプロモートします。 各プレイヤーのポーン、クイーン、ルーク、ナイト、ビショップの合計が15を超えることはありません ピースの総数と空の四角(数字で表示)の合計は、ランクごとに常に正確に8になるはずです。また、常にスラッシュで区切られた8つのランクが常に存在する必要があります。 無視できるもの 指定されたポジションでプレーできるかどうか、またはポジションが合法である場合、与えられた数量でピースが存在できるかどうかについて心配する必要はありません。 プレーヤーターン、キャスティング権、パッサンのようなFENストリングのさらなる複雑さは無視できます。 これはコードゴルフです。バイト単位の最短プログラムが優先されます。通常の抜け穴とルールが適用されます。 テストケース 入力 rnbqkbnr / pppppppp / 8/8/8/8 / PPPPPPPP …

3
倍増カスケード
最初に、数学的な間奏、短く、あなたの価値があります: の場合0 < a < 4、ロジスティック関数 f(x) = ax(1-x)は間隔[0,1]を内部にマッピングします。これは、反復ゲームをプレイできることを意味します。たとえば、a = 2の場合、初期値0.3は0.42になり、0.4872になります。 パラメーターaが増加するfと、次の意味で2次関数はより複雑になります。 0 < a < 1 すべての初期値は0に向かって反復します。 1 < a < 3 0は反発になりますが、すべての反復を引き付ける新しい固定小数点(a-1)/ aがあります。 3 < a < 1+sqrt(6) 新しい固定点は反発しますが、2つの引き付け点のサイクルが表示されます。 3.44949... < a < 3.54409... 2サイクルは反発しますが、4つの引き付け点のサイクルが表示されます。 等 フェイゲンバウムは、これらのパラメーター間隔の長さが4.6692...、フェイゲンバウム定数にますます近づく速度で減少することに気付きました。素晴らしい発見は、この期間2 分岐シーケンスは、(二次放物線のように)増加してから減少する関数によって共有される一般的な現象であるということです。これはカオスの普遍性に関する最初のレポートの1つでした。 さあ、挑戦しましょう!選択した精度でファイゲンバウム定数を計算する最短のコードを作成します。ここでのポイントは、グーグルで検索した数値をエンコードしてシステムをごまかすことではなく、実際にコンピューターに値を見つけさせることです。参考のため、30桁の定数は次のとおりです。 4.669201609102990671853203821578
12 code-golf  math  number 

11
リストのリストを悲しいリストに解析する
この課題では、リストのリストをより単純なリスト形式に解析する必要があります。 この課題は、私のsadflakパーサーに基づいています。私のsadflakパーサーでは、すべての()が削除され、リストの先頭にある()の合計に置き換えられて、プログラムの実行が速くなります。 Sad-Listに解析するには、これを行う必要があります(Python実装のこと、タプルのタプルを使用します): def sadlistfunc(list): new-sadlist = [0] for i in list: if i == (): new-sadlist[0]+=1 else: new-sadlist.append(sadlistfunc(i)) これは再帰的な関数です。リストの場合、リスト入力からの()の数で始まる新しいリストを開始し、このリストの残りはリスト入力からの()でないすべてのリストの悲しいリストバージョンです。リストを返します。 入力: いくつかの異なる形式で入力することができます。 あなたはそれをリストとして取ることができます あなたはタプルとしてそれを取ることができます あなたはそれを文字列として取ることができます 文字列として使用する場合は、brain-flakに表示されるように、いくつかのブラケットセットを使用する必要があります。文字1と2は使用できません ただ合理的です 入力は常に1つのリスト内にありますが、プログラムは入力外の暗黙的なリストレイヤー、つまり()()()=(()()())を想定するか、または選択しない場合があります。例は明示的な外部リストを使用します 出力: リスト、タプル、文字列、その他何でもかまいません。メタコンセンサスと同様に、合理的な出力形式を使用できます。 例: (()()()) = [3] (((()))) = [0,[0,[1]]] ((())()(())) = [1, [1], [1]] () = invalid input, if the outside bracket …

22
アスキールービックキューブ
これと次のチャットに触発された: あなたの仕事は以下を出力することです: _ _ _ /_/_/_/\ /_/_/_/\/\ /_/_/_/\/\/\ \_\_\_\/\/\/ \_\_\_\/\/ \_\_\_\/ キューブの外観を変更しない限り、余分な先頭または末尾の空白を使用できます。通常どおり、関数から上記または文字列のリストを返すことは許可されています。 これはcode-golfなので、バイト単位の最短回答が勝ちです!

13
数を二乗和として書く方法はいくつありますか?
仕事 2つの整数dとが与えられた場合、平方和としてn表現する方法の数を見つけます。つまり、そのようなことは、すべての整数の整数です。2つの異なる値(たとえばと)を交換することは、元のソリューションとは異なると見なされることに注意してください。ndn == r_1 ^2 + r_2 ^2 + ... + r_d ^2r_m1 ≤ m ≤ dr_1r_2 たとえば、45という数字は2つの正方形の合計として8つの異なる方法で記述できます。 45 == (-6)^2 + (-3)^2 == (-6)^2 + 3^2 == (-3)^2 + (-6)^2 == (-3)^2 + 6^2 == 3^2 + (-6)^2 == 3^2 + 6^2 == 6^2 + (-3)^2 == 6^2 + …

19
ルックアップインデックスを作成する
文字列を指定すると、最初の列に出現順に文字列の一意の文字があり、後続の列には文字列内のその文字のインデックスがゼロまたは1ベースのインデックスを使用してリストされているテーブルを返します。左端の列が垂直に配置されている限り、水平方向の空白は問題になりません。インデックスは左から右へ昇順でなければなりません。 例 ゼロベースのインデックスを使用し、「abracadabra」を指定すると、戻ります a 0 3 5 7 10 b 1 8 r 2 9 c 4 d 6 1から始まるインデックスを使用し、「3141592653589793238462643383279503」を指定すると、以下が返されます。 3 1 10 16 18 25 26 28 34 1 2 4 4 3 20 24 5 5 9 11 32 9 6 13 15 31 2 7 17 22 …

8
与えられた化合物のミスターを見つけてください!
チャレンジ 化学式が与えられたら、化合物のM rを出力します。 方程式 化合物の各要素の後には、化合物の原子の数を示す数字が続きます。数字がない場合、化合物にはその原子が1つしかありません。 以下に例を示します。 エタノール(C 2 H 6 O)はC2H6O、2つの炭素原子、6つの水素原子、1つの酸素原子がある場所です。 水酸化マグネシウム(MgO 2 H 2)MgO2H2は、1つのマグネシウム原子、2つの酸素原子、2つの水素原子がある場所です。 角括弧を処理する必要は決してなく、各要素は式に一度だけ含まれることに注意してください。 ほとんどの人はおそらく最も快適だと感じる順序に固執するでしょうが、厳密な順序付けシステムはありません。例えば、水のいずれかとして与えられてもよいH2O、またはOH2。 M r 注:ここでは、式質量が分子質量と同じであると仮定します 化合物のM r(分子量)は、分子内の原子の原子量の合計です。 サポートしなければならない唯一の元素とその小数点以下1桁までの原子量(希ガスを含まないカルシウムへの水素)は次のとおりです。こちらにもあります H - 1.0 Li - 6.9 Be - 9.0 B - 10.8 C - 12.0 N - 14.0 O - 16.0 F - 19.0 Na - 23.0 …

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