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

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

15
除数の豊富な番号と不良な番号
前書き 整数の奇妙な世界では、除数は資産に似ており、逆数よりも約数が多い数を「豊富」と呼び、逆数よりも約数が少ない数を「不良」と呼びます。 例えば、番号240124012401 5つの除数有する:1 、7 、49 、343 、24011、7、49、343、24011,7,49,343,2401、その反転、つつ104210421042:、4つだけ有している1 、2 、521 、10421、2、521、10421,2,521,1042。 したがって、240124012401は豊かな数と呼ばれ、104210421042は不十分な数と呼ばれます。 この定義が与えられると、次の2つの整数列を作成できます。 (here we list the first 25 elements of the sequences) Index | Poor | Rich -------|------|------- 1 | 19 | 10 2 | 21 | 12 3 | 23 | 14 4 | 25 | 16 5 …

9
グリッドを三角形に分割する
ゴール この課題の目標は、次の機能を生成することです n、n X 1グリッドを三角形に分割する方法の数を計算する。三角形のすべての頂点がグリッドポイント上にあります。 例 たとえば、2 x 1グリッドを分割するには14の方法があるためf(2) = 14、次のパーティションを使用して して、それぞれ2、2、2、2、4、および2つの異なる方向に分割します。 得点 これはcode-golfなので、最短のコードが優先されます。

17
番号に連続した降順の番号はいくつありますか?
2019年が到来し、おそらく誰もがこの数字の特異性に気づいたでしょう:実際には、連続した降順の数字を表す2つのサブ番号(20と19)で構成されています。 チャレンジ 数所与xのサブ数を取ることによって形成することができる数値を降順、連続の最大配列の長さを返しますx。 ノート : サブ番号に先行ゼロを含めることはできません(たとえば、1009に分割することはできません)1009 連続および降順は、シーケンス内の数値が前の数値-1またはと等しくなければならないことを意味します(たとえば、連続していないために分割できない、など)ni + 1= n私− 1n私+1=n私−1n_{i+1} = n_{i}-1525,2522 ≠ 5 - 1 シーケンスで例えば、完全な番号を使用することによって取得する必要があり7321ます破棄することはできません7シーケンスを取得すると3、2、1 唯一の1つの配列が番号から得ることができ、例えば3211098二つの配列に分割することができない3、2、1および10、9、8 入力 整数(>= 0):数字、文字列、または数字のリストを指定できます 出力 減少するサブ番号の最大数が指定された単一の整数(この番号の下限はであることに注意してください1。つまり、番号は長さ1の降順で構成されます) 例: 2019 --> 20,19 --> output : 2 201200199198 --> 201,200,199,198 --> output : 4 3246 --> 3246 --> output : 1 87654 --> 8,7,6,5,4 --> …
18 code-golf 

22
ssTTsSTtRrriinInnnnNNNIiinngg
チャレンジ 文字列の最後の文字を除く各文字について、次の手順を実行します。 現在の文字を出力します。 続いて、次のリストから1〜5のランダムな回数をランダムに出力します(両端を含む)。 現在のキャラクター 文字列の次の文字 現在いるキャラクターのスイッチケースバージョン 文字列の次の文字のスイッチケースバージョン。 テストケース String -> SSSTSStrTrIiinIIngn , . , . , . Hello world! -> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D Programming Puzzles and Code Golf -> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS a aANnNddD C COCoooOOdeDe E GGGoOllFFf ノート 文字がアルファベットの一部である場合(AZおよびaz)にのみ、スイッチケースバージョンの文字を適用する必要があります。 …

8
Ternary-ifコンバーター
Java / .NET / C / JavaScript /など。ternary-ifを使用してif文を短縮できます。 例(Javaの場合): // there is a String `s` and an int `i` if(i<0)s="Neg";else if(i>0)s="Pos";else s="Neut"; ternary-ifで短縮できます: s=i<0?"Neg":i>0?"Pos":"Neut"; チャレンジ: 入力:単一の変数を設定する通常のif-else(ネスト可能)。 出力:変換されたternary-if。 チャレンジルール: 括弧なしですべてのif-elseケースが可能であると想定できます(したがって、各if / else-if / elseブロックには単一のボディがあります)。 各スペースの後の単一のスペースelse(を含むelse if)を除き、スペース、タブ、改行はないものと想定できます。 使用される変数名は常に単一の小文字([a-z])であると想定できます。 変数に指定される値は、次のいずれかです。 文字列(空白/タブ/改行なし)、二重引用符(すなわち囲まれる"Test"、"SomeString"、"Example_string"、など)。文字列にサブストリングifまたはが含まれることはelseなく、スペース、タブ、改行、(エスケープされた)二重引用符、または文字が含まれないことも想定できます=。文字を含めることができます><(){}[];?:!&|が、印刷可能なASCII範囲(['!' (33), '~' (126)])のみになります。 整数(すなわち0、123、-55、など) 小数(すなわち0.0、0.123、-55.55、など) 値が混在することはありません。したがって、割り当てられる変数はすべて整数であり、一部は整数ではなく、一部は文字列ではありません。 括弧内の条件は、次の文字を含めることができ=<>!+-/*%&|[]、a-z、0-9。内側の括弧が存在しないと仮定することもできます。また、複数の文字が使用される(混乱させる)フィールドは存在しないと仮定することもできます(などif(if<0))。 のi*=10代わりにのようなショートカットはないと仮定できi=i*10ます。 ぶら下がりのelseケースを処理する必要はないので、すべてifをペアリングできますelse。すなわちif(a)if(b)r=0;else r=1;、可能な入力ケースではありません。if(a)if(b)r=0;else r=1;else r=2;またはif(a&&b)r=0;else …
18 code-golf  string 

30
64ビット整数の先行ゼロの数を見つける
問題: 64ビット符号付き整数の先行ゼロの数を見つける ルール: 入力を文字列として扱うことはできません。算術演算とビット演算がアルゴリズムを駆動するものであれば何でもかまいません 出力は、言語に関係なく、数値の64ビット符号付き整数表現に対して検証する必要があります デフォルトコードのゴルフ規則が適用されます バイト単位の最短コードが勝つ テストケース: これらのテストでは、2の補数の符号付き整数を想定しています。言語/ソリューションに符号付き整数の異なる表現がないか、使用していない場合は、それを呼び出して、関連する可能性のある追加のテストケースを提供してください。倍精度に対処するいくつかのテストケースを含めましたが、リストすべきその他のテストケースをお気軽にご提案ください。 input output 64-bit binary representation of input (2's complement) -1 0 1111111111111111111111111111111111111111111111111111111111111111 -9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000 9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111 4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111 1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111 9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000 4503599627370496 11 0000000000010000000000000000000000000000000000000000000000000000 4503599627370495 12 0000000000001111111111111111111111111111111111111111111111111111 2147483648 32 0000000000000000000000000000000010000000000000000000000000000000 2147483647 33 0000000000000000000000000000000001111111111111111111111111111111 2 62 …

25
数値をZeckendorf RepresentationからDecimalに変換する
Zeckendorf Representations / Base Fibonacci Numbersについて これは、フィボナッチ数をベースとして使用する数値システムです。数値は0と1で構成され、各1は数値に対応するフィボナッチ数が含まれることを意味し、0は含まれないことを意味します。 たとえば、10以下のすべての自然数をベースフィボナッチに変換しましょう。 1はフィボナッチ数である1の合計であるため、1になります。 2はフィボナッチ数である2の合計であるため10になります。1は必要ありません。これは既に目的の合計を達成しているためです。 3はフィボナッチ数である3の合計であるため、100になります。目的の合計をすでに達成しているため、2または1は必要ありません。 4は101になります。これは、フィボナッチ数である[3,1]の合計であるためです。 5はフィボナッチ数である5の合計であるため、1000になります。他の数は必要ありません。 6はフィボナッチ数5と1の合計であるため、1001になります。 7はフィボナッチ数5と2の合計であるため、1010になります。 8はフィボナッチ数であるため、10000になります。 9は、フィボナッチ数8と1の合計であるため、10001になります。 10はフィボナッチ数8と2の合計であるため、10010になります。 ランダムなベースフィボナッチ数10101001010を10進数に変換しましょう:最初に、対応するフィボナッチ数を書きます。次に、1の下の数値の合計を計算します。 1 0 1 0 1 0 0 1 0 1 0 144 89 55 34 21 13 8 5 3 2 1 -> 144+55+21+5+2 = 227. ベースフィボナッチ数の詳細:linkには、通常の整数をベースフィボナッチに変換するツールもあります。あなたはそれを試すことができます。 今質問: あなたの仕事は、Zeckendorf表現で数値を取得し、その10進数値を出力することです。 入力は、0と1のみを含む文字列です(ただし、入力は任意の方法で取得できます)。 1つの数値を10進数で出力します。 …

9
パディングされた文字列のリスト間の最大ハミング距離
等しい長さの2つのストリング間のハミング距離は、対応する文字が異なる位置の数です。文字列の長さが等しくない場合、ハミング距離は定義されません。 チャレンジ 文字列のリストからすべての文字列のペアの中で最大のハミング距離を見つけるプログラムまたは関数を作成し、以下で説明する規則に従って必要に応じてパディングします。 文字は内からになりますa-zA-Z0-9。 文字列の長さが等しくない場合があるため、比較ごとに次のように短い文字列をパディングする必要があります。 必要な長さに合わせて、必要な回数だけ文字列を先頭から折り返します 奇数回の折り返しごとに文字の大文字小文字を変更します(1番目、3番目、5番目など) a-zA-Z包装するときは外の物をそのままにしておく たとえばab9Cd、18 文字になるように5文字の文字列を埋め込む必要があるとしましょう。次のようになります。 ab9CdAB9cDab9CdAB9 ^^^^^ ^^^ ^ケースの変更を強調するために、1番目と3番目のラップの下に追加されます。 入出力 入出力形式は柔軟です。入力に少なくとも2つの文字列があり、すべての文字列に少なくとも1つの文字があると仮定できます。 出力は整数です。 ルール これはcode-golfです。標準ルールが適用されます。 テストケース [ "a", "b" ] => 1 [ "a", "b", "c" ] => 1 [ "a", "a", "c" ] => 1 [ "abc", "abcd" ] => 1 [ "abc12D5", "abC34d3", "ABC14dabc23DAbC89d"] …
18 code-golf  string 

26
単語は互いに素ですか?
単語が与えられたら、すべての文字を英語のアルファベットの数字として扱い(a1にbなる、2にzなる、26 になる、など)、重複を含むすべてがペアワイズcoprimeであるかどうかを確認します。 入力は、小文字の英語文字の正確に1つの単語です。単語が互いに素である場合の出力は事実です:真/偽の値ですが、それらの2つのバリアントのみです。標準的な抜け穴は禁止されています。 テストケース: man: True day:True(ØrjanJohansenに感謝) led:False(l=12とd=4持っていますgcd=4) mana:(複数回発生しTrueますaが、1と1は互いに素です) mom:False(gcd(13,13)=13)) of:False(xnorに感謝しますが15∤6、gcd(15,6)=3) a:(True文字のペアがない場合は、単語を余素として扱います) これはcode-golfなので、バイト単位の最短コードが勝ちです!

30
テキスト圧縮
以下のテキストでは、テキスト内に複数回繰り返される単語がいくつかあります。任意のプログラミング言語を使用して、テキストを圧縮して表示する短いコードを記述します。または、言い換えると、最小のバイト数を使用してテキストを表示します。 テキストは次のとおりです。 Peter Piper picked a peck of pickled peppers. A peck of pickled peppers Peter Piper picked. If Peter Piper picked a peck of pickled peppers, Where's the peck of pickled peppers Peter Piper picked?

8
取り消し線44はまだ規則的44です;(
前書き 月24日に、2015 @isaacgは golfed 彼Pythの答えを 44〜42バイトから。取り消し線 44(44)は通常の44とよく似ているため、@ Optimizerは次のコメントを作成しました。 ストライクアウト44はまだ通常の44です:( その後、2015年10月21日に@ Doorknob♦ はRubyの回答を44バイトから40バイト(以降38バイト)までゴルフし、@ Optimizerの元のコメントへのリンクとともに、次の部分を回答に追加しました。 取り消し線44はまだ規則的44です;( これが回答連鎖ミームの始まりでした。そこでは、すべての取り消し線が44(場合によっては4または444)が前のリンクにリンクされていました。 そして、4月8日、2017(これはそうする最初の答えだった場合、私はわからないんだけど、それは私が見つけることができる最古の一つだ)に、@JonathanAllanは golfed 彼のPythonの答えを彼はしかし、使用39に44から<s> 44 </s>44だろうので、こんな風に見える: 44 、そして彼の答えに以下を追加しました: 取り消し線  44  もはや44ではありません:) そして、それは基本的にミームの(の始まりの)終わりでした。 チャレンジ この課題に関して:正の整数のリストと日付が与えられた場合、最後の数字を除くすべての数字が間に置かれるコンマとスペースで区切られたリストを出力します <s>...</s>タグのます。 さらに、バツ印の番号のいずれかがシーケンス[4, 44, 444, 4444, ...](oeis.orgのA00278)にある場合: 日付が2017年4月8日より前の場合:正確な(すべて小文字でセミコロンの絵文字を含む)テキストcrossed out N is still regular N ;((N 2行目にシーケンスから消された数字。 日付が2017年4月8日以降の場合:Nシーケンスの取り消し線番号には、先頭と末尾を 追加する必要があります。追加の出力行は必要ありません。 例: 入力:list = [50, 48, 44, 41]、date = …

20
単純な溶岩ランプ
前書き: 私は誰もが溶岩ランプが何であるかを知っていると思いますが、彼らが知らない場合のために: (画像ソース) それらは基本的に半透明の液体にワックスを含むガラス管です。ランプをオンにすると、下部が加熱され、密度が変化し、ワックスが上部に浮き上がります。それが冷えると、再び落ちて、上記の効果を引き起こします。 通常、ランプのベースが固体ワックスを液体ワックスに変えるのに十分な温度に上昇するのに約45〜60分かかります(ランプが室温の場所にある場合)。 Wikipediaの詳細については、上記のテキストのソースとしても使用されています。 チャレンジ: nLava Lampをオンにしてから経過した分数を示す正の整数を指定すると、5レベルの整数に基づいてLava Lampのランダムな状態を出力します。 この挑戦のために、溶岩ランプには合計で1000単位のワックスが含まれており、ワックスが存在できる5つのレベルがあると言います。 1)nが45未満の場合、Lavaランプはまだ加熱されているため、出力は1000下部に4つの空の行があります。 1000 2)nが範囲内に[45, 60)ある場合、Lava Lampはワックスが動き回るのに十分な温度に上昇していますが、まだそれほど高くはありません。ワックスは、第3レベルまで到達できます。 3)の場合がnある60以上、ワックスは、5つのレベルのいずれかであることができます。 したがってn、入力として正の整数を指定すると、上記の3つのルールを考慮してランダムな状態を出力します。 出力の例を次に示します。 任意のための可能な出力nです>= 45。 523 106 371 913 87 任意のための可能な出力nです>= 60。 73 113 312 5 497 284 55 637 24 nそのための一定の出力は<= 44(およびで可能な出力n)です: 1000 チャレンジルール: 上のレベルが空でない場合でも、空の行がある場合があります。 ただ、0任意の行に許可されていません。代わりに空にする必要があります。 出力は多少柔軟です。上記のように改行で区切られた結果の代わりに、文字列/オブジェクトのリスト/配列を出力できます。私が文字列/オブジェクトと言う理由は、上記のルールによるものです。空行があるべきである""、null、[]、等、しかしすることができない0、または負の整数(またそれができるfalse(IE)["", "", 913, "", 87]のためにn >= 45)。出力を逆にすることもできます(つまり、の代わり1000\n\n\n\nに、\n\n\n\n1000またはの[87, …

24
トンネリングアレイを確認する
整数の配列があり、その負でない値が同じ配列内の他の位置へのポインターであり、それらの値がトンネルを表すことだけを想像してください。したがって、位置Aの値が正で位置Bを指している場合、トンネルの両端を表すには、Bも正で、位置Aを指している必要があります。そう: チャレンジ 整数の配列が与えられた場合、その配列がトンネリング配列であるという制限に準拠しているかどうかを確認し、trueyとfalseyに対して2つの異なる一貫した値を返します。 配列内の値は、トンネル以外の位置ではゼロ未満、トンネル位置ではゼロ以上になります。配列が1インデックスの場合、ゼロ値は非トンネル位置を表します。トンネル以外の値をチェックする必要はありません。 セルの正の値が自分自身を指している場合、それは偽です。AがBを指し、BがCを指し、CがAを指す場合、それは誤りです。正の値が配列の制限を超えている場合、それは偽です。 例 次の例は、0から始まります: [-1, -1, -1, 6, -1, -1, 3, -1, -1] Truthy (position 3 points to position 6 and vice versa) [1, 0] Truthy (position 0 points to position 1 and vice versa) [0, 1] Falsey (positions 0 and 1 point to themselves) [4, 2, …

14
平方ランダム対称
チャレンジ 正方ランダム対称行列を返すまたは出力するプログラムまたは関数を作成します。 入力 N:行列のサイズ、すなわち6 x 6 出力 マトリックス。印刷して、文字列として(改行を使用して)返すか、リスト/配列のリスト/配列として返すことができます。 ルール 少なくともN異なる文字を使用する必要があります。ここNで、は正方行列のサイズです(入力)。文字[a、z] [A、Z]と数字[0、9](そして同時に1桁のみ)のみを使用しているので、あなたはそれN < 27とを仮定することができます。と数字。最後になりましたが、すべての文字/数字はゼロでない確率で発生する必要があります(均一な分布は必要ではありません)。ただし、結果には少なくとも異なる文字/数字が必要です。N > 2N <= 2N マトリックスは、水平および垂直の両方に対称である必要があります。 正確に2行2列には、厳密に1桁の1桁の数字を含める必要があります(その位置もランダムにする必要があります)。残りの行/列には文字のみが含まれます。文字を[a、z]および[A、Z]として、そしてもちろん1桁の数字を[0、9]として考えてください。 簡単にするために、大文字と小文字が区別されない限り、大文字と小文字は関係ないと想定できますa=A, b=B, etc。 可能なすべての出力は、ゼロ以外の確率で発生する必要があります。ランダム分布は均一である必要はありません。 例 入力:8 出力: c r p s s p r c r k o z z o k r u t 2 a a 2 t u …
18 code-golf  matrix 

2
これはWeyr行列ですか?
基本的なワイア正準型と呼ばれるn × n行列Wのタイプがあります。このようなマトリックスはブロックで記述され、次の参照図を使用して次のプロパティを持ちます。 主対角ブロックW IIがあり、N I ×N iが λ形式の行列I N I I N iはあるN I ×N I恒等行列。 nは1 ≥N 2 ≥...≥N R 最初の対角ブロックW K-1、K用2..r∈Kであり、N K-1 ×N Kである行列の行還元階段状のフル列ランクは、以上簡単に言えば、I N k個の上に座っn k-1 -n k行のゼロ。 他のすべてのブロックは0行列です。 例えば: 主な対角ブロック(黄色)は、n iが4、2、2、および1であるようなものです。 最初の超対角ブロックは緑色です。 グレーゾーンは、他のすべてのブロックで構成され、すべて0です。 この課題では、λ= 1と仮定します。 入力 任意の便利な形式の0と1の正方行列。 出力 入力行列がWeyrであるかどうかについて、2つの異なる値のいずれかを出力します。 ルール これはcode-golfです。各言語の最少バイト数が優先されます。標準のルール/抜け穴が適用されます。 テストケース 行の配列として提示されます。 ワイアー: [[1]] …

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