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

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

18
文字列を三角形に折ります
長さが4で割り切れる文字列を指定すると、以下に示すように三角形を作成します。 文字列がの場合、abcdefghijkl三角形は次のようになります。 a b l c k defghij 文字列がの場合、iamastringwithalengthdivisiblebyfour三角形は次のようになります。 i a r m u a o s f t y r b i e n l gwithalengthdivisib 文字列がの場合、thisrepresentationisnotatriangle三角形は次のようになります。 t h e i l s g r n e a p i r r esentationisnotat ノート 文字列はからaまでの文字のみで構成されzます。 形状が壊れていない限り、先頭と末尾の空白と改行は許可されます。 出力としての文字列のリストが許可されています。 これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

14
n番目のフィボナッチ数を含むn番目のフィボナッチ数を出力します!
チャレンジ n入力として正の整数を取り、サブトリングとしてth Fib#nを含むthフィボナッチ数(全体を通してFib#として短縮)を出力するプログラムを作成する必要がありますn。この課題のために、フィボナッチ数列はで始まります1。 テストケースとして、または課題を明確にするための例として使用できる例をいくつか示します(後者については、不明な点を説明するコメントを下に残してください)。 n=1 Fib#s: 1 ^1 1st Fib# that contains a 1 (1st Fib#) Output: 1 n=2 Fib#s: 1, 1 ^1 ^2 2nd Fib# that contains a 1 (2nd Fib#) Output: 1 n=3 Fib#s: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233 ^1 …

1
カークマンの女子高生問題を展開
なじみのない人のために、カークマンの女子高生問題は次のようになります。 学校の15人の若い女性は、連続して7日間、3人並んで歩きます。2人が2度並んで歩かないように、毎日手配する必要があります。 私たちは、ネストされたようにこれを見て可能性が3で5リスト(または行列): [[a,b,c] [d,e,f] [g,h,i] [j,k,l] [m,n,o]] 基本的に、元の問題の目標は、2つの文字が1行を複数回共有しないように、上記のマトリックスを配置する7つの異なる方法を見つけることです。MathWorld(上記リンク)から、このソリューションを見つけます。 [[a,b,c] [[a,d,h] [[a,e,m] [[a,f,i] [[a,g,l] [[a,j,n] [[a,k,o] [d,e,f] [b,e,k] [b,h,n] [b,l,o] [b,d,j] [b,i,m] [b,f,g] [g,h,i] [c,i,o] [c,g,k] [c,h,j] [c,f,m] [c,e,l] [c,d,n] [j,k,l] [f,l,n] [d,i,l] [d,k,m] [e,h,o] [d,o,g] [e,i,j] [m,n,o]] [g,j,m]] [f,j,o]] [e,g,n]] [i,k,n]] [f,h,k]] [h,l,m]] さて、女子学生の数が異なる場合はどうなりますか?8日目がありますか?†これが私たちの挑戦です。 †ここでない††、必ずしもではないが、他の配列の次元のために ††我々は簡単にするため、これを表示することができa、他のすべての文字を持つ行に現れます。 チャレンジ: 女子学生の配列(すなわちの寸法(列よりも行、)の入力が与えられ3 x …

24
バイナリ定規を作成する
番号nを指定すると、このパターンの最初のn列が生成されます。 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ################################ ... (1-indexed)nの列の高さは、nのバイナリ表現の末尾の0ビット数に1を加えたものです。その結果、最下層にはすべての列が、2番目の層には2列ごとに、3番目の層には4列ごとに、などが入力されます。 ルール 任意の標準的な方法で入出力できます。 入力は1から999までの整数であると仮定できます。 パターンが完全である限り、出力には任意の量の空白を含めることができます。 パターンは1インデックスで、ここに示されているのと同じ形式である必要があります。 の代わりに任意の単一の非空白文字を使用でき#ますが、スペース文字を変更することはできません。 テストケース 1 # 2 # ## 3 # ### …

30
最小の倍数が9回実行され、その後にオプションの0回の実行が続く
正の整数が与えられた場合、9の実行とそれに続くオプションの0の実行である最小の正の整数倍数を見つけます。つまり、regexに一致する最小の正の整数倍数を見つけます/^9+0*$/。 たとえば、与えられた正の整数が2の場合、90は2の正の整数倍であり、正規表現と一致する最小の整数であるため、90を返し/^9+0*$/ます。 テストケース: n f(n) 1 9 2 90 3 9 4 900 5 90 6 90 7 999999 8 9000 9 9 10 90 11 99 12 900 13 999999 14 9999990 15 90 16 90000 これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

19
異なる数、同じ重量
バックグラウンド 整数のハミング重みは、バイナリ表現の1の数です。このチャレンジでは、整数は32ビットで表され、符号なしです。 チャレンジ 0から2 ^ 32-1までの整数(非包括的)が与えられた場合、同じ範囲内で同じハミング重みを持つ異なる整数を出力します。 例 Input (Decimal) | Input (Binary) | Hamming weight | Possible output (Decimal) 46 | 0b0010 1110 | 4 | 15 12 | 0b0000 1100 | 2 | 3 1 | 0b0000 0001 | 1 | 2 3 | 0b0000 0011 | 2 | …

19
CSI:Minecraftのアイテム
Minecraft 1.12は明日リリースされるので、お祝いしましょう! Minecraftの何かのアイテムの数を表す負でない整数Nを取り込むコードを記述します。チェスト、スタック、アイテムの数をNにすると、プレーヤーにとってより役立つ方法で出力します。形式を使用する XcYsZi どこで X N個のアイテムで完全に満たせるチェストの数、 Y は、チェストを満たした後に残っているアイテムで埋めることができるスタックの数です。 Z チェストとスタックを満たした後に残っているアイテムの数。 ご了承ください: 64個のアイテムがスタックに収まります。(16にスタックするか、スタックしないアイテムは無視します。) 27スタックが胸に収まります。(これらはダブルチェストではなく、シングルチェストです。) したがってY、26を超える場合、またはZ 63を。 この形式の注意点は、何かがゼロの場合、その用語は印刷されないことです。 したがって、たとえば、YゼロXおよびZゼロ以外の場合、形式はのようになりXcZiます。 同様に、YとZがゼロとX非ゼロの場合、形式はになりますXc。 ここでの例外は、Nがゼロの場合です。その後0iは、空の文字列ではなく出力です。 N個のアイテムはすべて同じタイプであり、すべてスタック可能であると想定できます。 3つの数字のリストまたはタプルを出力することはできません。スペースまたはコンマを使用せずに、正確な「csi」表記の文字列をこの順序で指定する必要があります。 参考までに、アイテムのスタックで完全に満たされたチェストは次のとおりです。 テストケース in -> out 0 -> 0i 1 -> 1i 2 -> 2i 62 -> 62i 63 -> 63i 64 -> 1s 65 -> 1s1i 66 -> …

30
ボックスを動的に作成する
チャレンジ: ASCIIボックスの長方形を描きます:[] ルール: 幅と高さの入力を受け取ります あなたはこれらの両方が数字であると仮定することができます 改行文字を含む文字列を生成する必要があります、\ n 例: 2、2: [][] [][] 2、3: [][] [][] [][] 最少バイト数が勝ちます。

12
縮退を逆にして追加する
イントロ リバースと追加は、見た目と同じくらい簡単nで、逆の順序で数字に追加します。(例:234 + 432 = 666)。 このプロセスを繰り返し適用すると、いくつかの数字は最終的に素数にヒットし、一部は素数に到達しません。 例 私は現在持っています 11431担当者 11431 is not prime 11431 + 13411 = 24842 which is not prime 24842 + 24842 = 49684 which is not prime 49684 + 48694 = 98378 which is not prime 98378 + 87389 = 185767 which is prime! この数は素数に当たります …

19
単語のバイナリ分割合計を計算する
文字列を取り、 s入力可能な印刷可能なASCII含むを取得し、その「バイナリ分割合計」を出力します。説明が必要ですか? バイナリ分割合計はどのように取得しますか? A4次の説明では、文字列を例として使用します。 文字をバイナリに変換し、各文字を7ビットASCII文字として扱います A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100 2進数を新しい2進数に連結します A4 -> 1000001 & 0110100 -> 10000010110100 新しい2進数をチャンクに分割します。チャンクは左に配置1できません0。連続したを分割しないでください1。 10000010110100 -> 100000, 10, 110, 100 これらの2進数を10進数に変換します 100000, 10, 110, 100 -> 32, 2, 6, 4 これらの数値の合計を取ります。 32 + 2 + 6 + 4 …

20
最初のブラケットマッチを見つける
これは、Brain-Flakの誕生日に至る一連の課題の1つでした。詳細はこちらをご覧ください。 チャレンジ この課題の目的は、完全に一致するブラケットの文字列から一致するブラケットの最初のペアを見つけること()[]{}<>です。完全に一致する文字列のDJMcMayhemの定義を借用するには: この課題のために、「括弧」は次の文字のいずれかです()[]{}<>。 次のように、開始ブラケットと終了ブラケットが正しい順序であり、その中に文字がない場合、一対のブラケットは「一致」とみなされます。 () []{} または、その中のすべてのサブ要素も一致する場合。 [()()()()] {<[]>} (()()) サブエレメントは、いくつかのレイヤーの深さにネストすることもできます。 [(){<><>[()]}<>()] <[{((()))}]> ブラケットの各ペアに正しい順序で正しい開始ブラケットと終了ブラケットがある場合にのみ、文字列は「完全一致」と見なされます。 入力 入力は、文字のみを含む単一の空でない文字列またはchar配列で構成()[]{}<>され、完全に一致することが保証されます。I / Oデフォルトに対応する合理的な方法で入力を行うことができます。 出力 プログラムまたは関数の出力は、最初の括弧を閉じる括弧のインデックスになります。出力は0、1インデックス化されているか、どちらかでなければなりません。繰り返しますが、出力はi / oのデフォルトに対応する合理的な方法で行われます。 テストケース Input 0-indexed 1-indexed () 1 2 (<>) 3 4 <[]{<>}> 7 8 {}{}{}{} 1 2 [[]<>[]] 7 8 これはcode-golfで、最少バイトが勝ちます!

10
文字列を点字化する
いいえ、これはASCIIテキストを点字に変換するのではありません。 2つありますUnicodeに 8 = 256 点字パターンがあります。(「点字」とは、8セルを意味します) 待って ASCII文字はいくつありましたか? 2 7 = 128? それでは、ASCIIを点字に変えてみましょう。 ASCIIから点字への道 各セルがビットを表し、各セルが「パンチ」されているかどうかがわかります。 これで、各セルを割り当てて、ASCII文字のビットをバイナリとして表すことができます。 (1 )(16 ) (2 )(32 ) (4 )(64 ) (8 )( - ) * ( - )は空白です これでASCIIを点字に変換できます。たとえば、A(65 = 01000001)は次と等しい⠡。 例 Input -> Output Braille! -> ⠢⠺⠱⡱⡴⡴⠵⠑ (Upscaled) .. .o o. o. .. .. …

30
n番目の文字は最後の文字のn番目と同じですか?
インスピレーション開始は終了と等しいか 文字列sと整数nを指定すると、nth char in sがnend char inのth と等しいかどうかについて、true / falseyを出力しsます。 入力 空ではない文字列と整数。0ベースのインデックス付けまたは1ベースのインデックス付けを使用できます。整数は、文字列に基づいて有効であることが保証されています。たとえば、文字列が「supercalifragalistic123」の場合、整数は、1ベースのインデックス付けの場合は1〜23、0ベースのインデックス付けの場合は0〜22です。nの長さの半分よりも大きくなる可能性があることに注意してくださいs。 入力は印刷可能なASCIIに制限されています。 出力 nthの値sがのn最後の値からのth と等しいかどうかに基づく真偽値s。 最後の文字は、0ベースのインデックス付けでは位置0に、1ベースのインデックス付けでは位置1にあることに注意してください。文字列とその逆を比較すると考えてください。 テストケース 0インデックス付き "1", 0 Truthy 1 == 1 "abc", 1 Truthy b == b "aaaaaaa", 3 Truthy a == a "[][]", 1 Falsey ] != [ "[][]", 0 Falsey [ != ] "ppqqpq", …
22 code-golf  string 

11
位置計算をしましょう!
ウィキペディアの記事から: 位置算術(ラテン算術localis)は、加算的(非位置)2進数字システムであり、John Napierが論文Rabdology(1617)の計算手法として、記号的およびチェス盤のようなグリッド上で探索しました。 何? ロケーション数字は、アルファベットの文字を使用して数字を書く方法です。 バイナリ表記はまだ標準化されていなかったため、Napierはロケーション番号と呼ばれるものを使用してバイナリ数を表しました。Napierのシステムは、符号値表記を使用して数値を表します。英語のアルファベットの連続した文字を使用して、2の累乗を表します。a = 2 ^ 0 = 1、b = 2 ^ 1 = 2、c = 2 ^ 2 = 4、d = 2 ^ 3 = 8、e = 2 ^ 4 = 16など。 例 ab 基数10で= 1 + 2 = 3 aabb = 10 + 1 + …

12
分割して分割して征服する
時々、目の前に出てくる数字をなんとなくしようとするとき¹、しばらくして、思ったより簡単だと気づきました。テイク2156例えば:最終的には、両方のことを私に起こる21と56の倍数である7ので、確かに、とは2156 = 21 x 100 + 56またの倍数です7。 あなたの仕事は、この種の偶然の一致により因数分解しやすい数字を識別するコードを書くことです。 より正確に: n入力として正の整数を取り、2つに切り分けてそれぞれが2の倍数である2つの正の整数を生成できる除数d(より大きい1)が存在する場合、真理値を返すプログラムまたは関数を記述します。そうでない場合は、偽の値を返します。nd 「2つにチョップ」とは、あなたが考えることを意味します。nある時点で前半と後半に分割され、他の2つの10進整数を生成する通常の10進表現です。2番目の整数の先頭にゼロが付いていても問題ありません(ただし、正の整数である必要があるため、分割1230して有効123で0はないことに注意してください)。 真実の値と偽の値は入力に依存します。たとえば、選択した言語でゼロ以外の整数が真である場合、除数dまたはn(またはnそのこと自体)。 たとえば、セット内の少なくとも2桁の偶数 {2, 4, 6, 8}があると、真の値が得られます。最初の偶数の後に分割するだけです。また、たとえば、n1桁の数値と同様に、素数は偽の値を生成します。 素因数を考慮するだけで十分です。 d。 入力が有効であると仮定できます(つまり、正の整数)。 これはコードゴルフですであるため、バイト単位の最短コードが優先されます。しかし、すべての言語のソリューションは歓迎されているため、全体の最短コードだけでなく、各言語の最短コードを目指して努力することができます。 テストケース (真実または偽の値のみを出力する必要があります。以下の注釈は説明のためのものです。)真実の値を生成する入力は次のとおりです。 39 (3 divides both 3 and 9) 64 (2 divides both 6 and 4) 497 (7 divides both 49 and 7) 990 (splitting into 99 and 0 …

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