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

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

9
レーベンシュタインの隣人
ほとんどの平方数には、そのレーベンシュタイン距離が正確に1 である少なくとも1つの異なる平方数があります。与えられた平方xxx、この条件を満たす各平方はxのレーベンシュタイン近傍と呼ばれます。たとえば、はレーベンシュタインネイバーです。1つの編集()のみが必要です。ただし、は最低2回の編集が必要なため、レーベンシュタインネイバーではありません。先頭に0が付いている数値()は、レーベンシュタインの隣人ではありません。xxx3636361616161→31→31 \to 36464641616162025→0252025→0252025 \to 025 あなたの仕事は、入力として平方数を取り、その合理的なフォーマットで、レーベンシュタインの隣人の完全なリストを出力することです。必要に応じて、リストにリピートネイバーを含めることができますが、元の入力は、それ自体のレーベンシュタインネイバーではないため、含めることはできません。 合理的な形式では、出力,や改行などの出力の間に何らかの区切り文字を含める必要があり、数字自体ではなく、対応するUnicode値(つまりBrainfuck)を持つ文字を出力できます。出力の順序は関係ありません。 この入力は、常により大きい平方数になり。プログラムには理論的な制限はありませんが、実際的な理由(たとえば32ビット数を超える)で大きな数で失敗する場合は、まったく問題ありません。000 入力にレーベンシュタインの隣人がいない場合、出力は何も出力しない、空の配列/文字列、負の整数、など、これを明確に反映する必要があります。000 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース これらはの正方形の結果です111にスルー202020: 1: 4, 9, 16, 81 4: 1, 9, 49, 64 9: 1, 4, 49 16: 1, 36, 169, 196 25: 225, 256, 625 36: 16, 361 49: 4, 9 64: 4 81: 1, 841 100: 400, 900, …

20
行列を2回並べ替える
あなたが正方形与えられる行列、リスト(またはベクトル)長さの数を含む介して(またはを介して)。タスクは、指定された順序に従って行列列と行を並べ替えることです。n×nn×nn \times nAAAuuunnn111nnn000n−1n−1n-1AAAuuu つまり、あなたがマトリックス構築物であろう番目の要素である番目の要素。このアクションの逆も出力する必要があります。つまり、の(i、j)番目の要素位置してしまう新しい行列にC。BBB(i,j)(i,j)(i,j)(u(i),u(j))(u(i),u(j))(u(i),u(j))AAAAAA(u(i),u(j))(u(i),u(j))(u(i),u(j))CCC たとえば、A=⎡⎣⎢112131122232132333⎤⎦⎥,u=[312]A=[111213212223313233],u=[312]A = \begin{bmatrix} 11 &12& 13 \\ 21& 22& 23 \\ 31& 32& 33 \end{bmatrix},\quad u=\begin{bmatrix}3 & 1 & 2\end{bmatrix} 出力はB=⎡⎣⎢331323311121321222⎤⎦⎥,C=⎡⎣⎢223212233313213111⎤⎦⎥B=[333132131112232122],C=[222321323331121311]B = \begin{bmatrix}33 & 31 & 32 \\ 13 & 11 & 12 \\ 23 & 21 & 22 \end{bmatrix},\quad C= \begin{bmatrix}22 & 23 & 21 …

9
反ったチェス盤
この課題は、以下で説明するように、正方形のサイズがボード全体で一定ではなく、一定の非減少シーケンスに従うチェス盤を構築することです。 ボードは繰り返し定義されます。サイズボードは、サイズの正方形の「レイヤー」で右下に拡張することにより、サイズに拡大されます。で、ははです。対角線上の正方形は常に同じ色です。n × nn×nn \times n(n + k )× (n + k )(n+k)×(n+k)(n+k)\times(n+k)kkkkkknnnn−−√n\sqrt{n} 具体的には、のように表さ色でボードを考える#と+。 チェス盤を初期化する # これまでのボードのサイズはです。の唯一の約数は、超えません。そこで、を取り、対角線上に、サイズの正方形のレイヤーを追加してボードを拡張します。1 × 11×11\times 11111111–√1\sqrt{1}k = 1k=1k=1111# #+ +# これまでに構築されたボードのサイズはです。の約数は、を超えない最大の約数はです。したがって、再びであり、ボードは2 × 22×22 \times 22221 、21、21,22–√2\sqrt{2}111k = 1k=1k=1 #+# +#+ #+# サイズはです。。にまで及びます3 × 33×33 \times 3k = 1k=1k=1 #+#+ +#+# #+#+ +#+# サイズはです。今ため、の最大除数でない超える。サイズ正方形で形成される厚さレイヤーで拡張し、対角線に色を付けます。4 × 44×44 \times …

8
アリスの最初のコードレビュー
アリスは、Brainfuckをクライアント側とサーバー側の両方の開発の主要言語として使用している会社のインターンです。アリスは最初のコードを書いたばかりで、最初のコードレビューの準備をしているので少し緊張しています。 アリスはコードを適切にフォーマットして見栄えを良くしたいと考えていますが、328ページの会社コードスタイルガイドを読む時間がないため、完全な正方形としてフォーマットすることにしました。残念ながら、正方形を形成するにはコード長が不十分な場合があるため、彼女は中央に長方形の隙間を残すことにしました。ギャップは完全に中央に配置され、可能な限り正方形に近い必要があります。 例 ++++++ +++++ +++++ +++++ +++++ +++++ ++++++ +++++ +++++ + ++ ++ ++ +++++ ++++++ ++ ++ + + + ++ + + ++++++ +++++ +++++ +++++ ++ ++ +++++ ++++++ +++++ +++++ +++++ +++++ +++++ Perfect OK Acceptable Unacceptable No way! Nope. Aliceを支援するプログラムまたは関数を作成します。Aliceのコードを入力文字列として指定し、可能であれば、以下で説明するように適切にフォーマットされたコードを出力します。フォーマットが不可能な場合、泣いている絵文字を出力します:~(。 これはコードゴルフなので、回答はバイト単位でスコアリングされ、より少ないバイトが目標になります。 制約 プログラムまたは関数は、単一の文字列を入力として使用し、1行以上のテキストを出力する必要があります(または、関数を実装する場合は、複数行の文字列または文字列の配列を返します)。 …

11
すべての正方形を爆発させる
あなたは幅の正方行列与えられている≥ 2≥2\ge2平方数含む、≥ 1≥1\ge1。 あなたの仕事は、すべての平方数がすべて消えるまで「爆発」させることです。最終マトリックスを印刷するか、返す必要があります。 すなわち: マトリックス内で最も高い正方形バツ2バツ2x^2を探します。 隣接する最小のnnn探します(水平方向または垂直方向に、ラップアラウンドなしで)。 置き換えバツ2バツ2x^2とバツバツxと置換nnnとn × xn×バツn\times x。 マトリックスに正方形がなくなるまで、ステップ1からのプロセスを繰り返します。 例 入力行列: (62519636324)(62536196324)\begin{pmatrix} 625 & 36\\ 196 & 324 \end{pmatrix} 最も高い正方形625625625は、√の 2つの部分に爆発します。625−−−√= 25625=25\sqrt{625}=25とその最小隣人と合流363636なり、36 × 25 = 90036×25=90036\times 25=900: (25196900324)(25900196324)\begin{pmatrix} 25 & 900\\ 196 & 324 \end{pmatrix} 最も高い正方形900900900爆発し、最小の隣接252525と結合します。 (75019630324)(75030196324)\begin{pmatrix} 750 & 30\\ 196 & 324 \end{pmatrix} 最高の正方形324324324が爆発し、最小の隣接303030と結合します。 (75019654018)(75054019618)\begin{pmatrix} 750 …
20 code-golf  matrix 

16
キューバのプライム
自然数を指定すると、番目のキューバプライムを返します。nnnnnn キューバのプライム キューバ素数は次の形式の素数です p=x3−y3x−yp=x3−y3x−yp = \frac{x^3-y^3}{x-y} ここで、およびまたはy>0y>0y>0バツ = 1 +yx=1+yx = 1+yx = 2 + yx=2+yx = 2+y 詳細 最適なものであれば、0または1ベースのインデックスを使用できます。 インデックスまたは最初の素数を昇順に指定して番目の素数を返すか、または素数を昇順で生成する無限リスト/ジェネレーターを返すことができます。nnnnnnnnn テストケース 最初のいくつかの用語は次のとおりです。 (#1-13) 7, 13, 19, 37, 61, 109, 127, 193, 271, 331, 397, 433, 547, (#14-24) 631, 769, 919, 1201, 1453, 1657, 1801, 1951, 2029, 2269, 2437, (#25-34) …

22
整数の回転位置
チャレンジ: 入力: 正の整数のソートされたリスト。 出力: 各整数の数字を左に向かってインデックスの回数だけ回転し、変更されたリストを再度並べ替えた後、まだまったく同じインデックスにある整数の量。 例: 入力:[8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] 出力(0ベースのインデックス付け):6 出力(1ベースのインデックス付け):5 どうして? 0ベースのインデックス付け: After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471] Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Input indices: 0 1 2 3 4 5 6 7 8 9 10 11 Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Modified indices: 0 2 1 3 5 4 7 6 8 9 …

8
トーラス上のサイクル
チャレンジ この課題は、次の2つの整数を取り込んでプログラム書く必要がありますnし、mそして上の番号非交差ループを出力nすることによってmで起動することによって作られたトーラス(0,0)とステップのみを取って右へを。トーラスは、上部と下部、側面の両方にラップアラウンドしたグリッドと考えることができます。 これはコードゴルフなので、バイト数が最も少なくなります。 例 たとえば、入力がの場合n=m=5、1つの有効なウォークは (0,0) -> (0,1) -> (0,2) -> (1,2) -> (2,2) -> (2,3) -> (2,4) -> (2,0) -> (3,0) -> (4,0) -> (4,1) -> (4,2) -> (4,3) -> (0,3) -> (1,3) -> (1,4) -> (1,0) -> (1,1) -> (2,1) -> (3,1) -> (3,2) -> (3,3) -> (3,4) …

30
電気回路の並列抵抗
前書き: 2つの抵抗、R1およびR2、並列(で示されるR1 || R2)は、次のように結合された抵抗を持ちますRp。 RP2=R1⋅R2R1+R2RP2=R1⋅R2R1+R2R_{P_2} = \frac{R_1\cdot R_2}{R_1+R_2} またはコメントで提案されているとおり: RP2=11R1+1R2RP2=11R1+1R2R_{P_2} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}} 3個の抵抗器はR1、R2とR3平行に(R1 || R2 || R3)合成抵抗を有しています(R1 || R2) || R3 = Rp || R3。 RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3R_{P_3} = \frac{\frac{R_1\cdot R_2}{R_1+R_2}\cdot R_3}{\frac{R_1\cdot R_2}{R_1+R_2}+R_3} または、再びコメントで提案されたとおり: RP3=11R1+1R2+1R3RP3=11R1+1R2+1R3R_{P_3} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}+ \frac{1}{R_3}} もちろん、これらの式は無制限の抵抗に拡張できます。 チャレンジ: 入力として正の抵抗値のリストを取得し、電気回路に並列に配置されている場合は合成抵抗を出力します。抵抗器の最大数を想定することはできません(もちろん、コンピュータがそれを処理できることを除いて)。 テストケース: 1, 1 0.5 1, 1, 1 …

17
整数からの平方根距離
10進数が与えられた場合、の平方根が整数の範囲内にkなるnような最小の整数を見つけます。ただし、距離はゼロ以外である必要があり、完全な正方形にすることはできません。nkn 与えられkた10進数または分数(どちらか簡単な方)、など、の平方根と平方根に最も近い整数の差がゼロ以下で0 < k < 1あるnように最小の正の整数を出力する。nnk iがの平方根に最も近い整数である場合n、最初のnwhereを探しています0 < |i - sqrt(n)| <= k。 ルール 言語の整数以外の数値の不十分な実装を使用して、問題を単純化することはできません。 それ以外の場合はk、浮動小数点の丸めなどの問題が発生しないと想定できます。 テストケース .9 > 2 .5 > 2 .4 > 3 .3 > 3 .25 > 5 .2 > 8 .1 > 26 .05 > 101 .03 > 288 .01 > 2501 .005 > 10001 …

22
彼らは私をインスペクターモールスと呼んでいます
あなたの使命は、あなたがそれを受け入れることを選択した場合、与えられた入力文字列がドットヘビーであるか、ダッシュヘビーであるかを決定することです。 文字列は、モールス表現にダッシュよりも多くのドットが含まれている場合、ドットが多くなります。たとえば、文字Eは単一のドットであり、ドットが多いことを意味します。 入力 入力文字列には、[a-z]またはの範囲の文字のみが含まれます[A-Z]。すべて大文字にするか、すべて小文字にするかを決定できます。AAA結構です、aaa結構です、そうでaAaはありません。 入力文字列の長さは常に少なくとも1文字です。 入力文字列のドットとダッシュの量が同じになることはないと想定できます。 出力 より多くのドット文字を含む入力に対してTruthyを返す必要があります。 より多くのダッシュ文字を含む入力に対しては、Falsyを返す必要があります。 編集:ドットの正の値とダッシュの負の値も許可します。 テストケース | input | morse representation | result | |------------------------------------------------| | S | ... | Truthy | | k | -.- | Falsy | | HELLO | .... . .-.. .-.. --- | Truthy | | code | -.-. --- …
20 code-golf  morse 

27
カウチ2048:2048まであとどれくらい?
Couch 2048というゲームを試しました。 (注:この質問をよりよく理解するために一見する必要があります。) それは私にとってあまりエキサイティングではなかったので、私は自分自身に「2048年まであとどれくらい!?」 それは私が思ったほど簡単ではないのでこれを計算するので、私は挑戦を投稿するように促しました。 あなたの目標: ソファにあるボールのリストが与えられたら、ゲームに勝つために(2048ボールに到達するために)値が2のボールを空から降ろさなければならない数を出力する必要があります。 入力が有効であると仮定します。 プレーヤーがボールを落とさないと仮定します。 私が言ったように、空から落ちるボールの値は常に2であると仮定します。 有効な出力例:3、 "4"、[5]、["6"] 編集: 私は何かを明確にする必要があります: - 必要な2の最小量を印刷する必要があります。 テストケース: [2048] -> 0あなたはすでに獲得した [1024,1024] -> 0あなたが勝つために任意のより多くのボールを必要としない [1024,512,256,128,64,32,16,8,4,2] -> 11つのボールをするために必要な「チェーンを活性化させます」 [512] -> 768 [512,2] -> 767 [4,16,64] -> 982 注: 私はネイティブスピーカーではありません-誤字や文法的でないテキストを見つけた場合は教えてください。 不明な点がある場合は、コメントでお尋ねください。
20 code-golf 

30
配列の繰り返しをカウントする
配列を受け取り、複数回発生する整数の数を返す必要があります。 [234, 2, 12, 234, 5, 10, 1000, 2, 99, 234] 234と2が複数回出現するため、これは2を返します。 [234, 2, 12, 234] [2, 12, 234, 5, 10, 1000, 2] リストの長さが100kを超えることはありません。また、リスト内の整数は常に-100k〜100kの範囲になります。 整数が複数回出現する場合、整数をカウントする必要があります。したがって、整数が3回出現した場合でも、1つの繰り返し整数としてカウントされます。 テストケース [1, 10, 16, 4, 8, 10, 9, 19, 2, 15, 18, 19, 10, 9, 17, 15, 19, 5, 13, 20] = 4 [11, 8, …

20
最小の多様化指数
pandigital数が少なくとも一度0~9からすべての数字を含む整数です。1234567890、1902837465000000、および9023289761326634265はすべてpandigitalです。このチャレンジでは、123456789 = 0123456789であっても、123456789などの数字は0を含まないため、パンデジタルではありません。 多様な整数の対は、整数の対であるよう pandigitalあります。は多様化指数と呼ばれます。(a,b)(a、b)(a, b)ababa^bbbb 課題:整数与えられると、対応する最小化する多様化指数見つけます。これはcode-golfであるため、バイト単位の最短プログラムが優先されます。aaabbb (このような指数が存在すると想定できます。つまり、10の累乗などの無効な入力がプログラムに与えられることはありません。) ソリューションは、少なくとも指定されたテストケースを処理できる必要がありますが、理論的にはすべての有効な入力を処理する必要があります。 これは、OEISのA090493です。 テストケース 2 -> 68 3 -> 39 4 -> 34 5 -> 19 6 -> 20 7 -> 18 8 -> 28 9 -> 24 11 -> 23 12 -> 22 13 -> 22 14 -> 21 15 -> 12 …
20 code-golf  math 

4
ローマにいるとき、ローマ人のように数えますか?
バックグラウンド この課題は、次の図を公開しているこの Webサイトから着想を得ています。 この図は、250未満のローマ数字の最長表現が188であり、表現するのに9つの数字が必要であることを示しています。 チャレンジ ほとんどのローマ数字を表現するために使用される標準的な記号は以下の通りである:{ I、V、X、L、C、D、M}、文字の数値である場合M= 1000 D= 500 C= 100 L= 50、X= 10、V= 5、I= 1。 この課題の目標は、正の整数nが与えられた場合、n個の標準シンボルを連結して構成できる有効なローマ数字表現の数を計算することです。 次に、プログラムはこの計算の結果を出力する必要があります! 入力:正の整数n。 出力:長さnの有効なローマ数字表現の数。 ローマ数字表現の規則 ローマ数字はもともと「加算」ペアのみでした。つまり、数字は常に降順で書き込まれ、すべての数字の値の合計は数字の値でした。 後に、減算ペアリング、より大きな数字の前に小さな数字を配置して、大きな数字から小さな数字を減算する使用が、ローマ数字の表現を短縮するために一般的になりました。次の無効な式のように、減算ペアは連鎖できませんIXL。 以下は、加算と減算のペアリングに関する現代のルールです。 1つのI、X、およびCのみが減算ペアの一部の先頭の数字として使用できます。 減算ペアのVまたはXの前にのみ配置できます。 Xは、減算ペアのLまたはCの前にのみ配置できます。 Cは、減算ペアのDまたはMの前にのみ配置できます。 減算ペア以外の数字は降順でなければなりません(つまり、各減算ペアの先頭の数字をドロップすると、数字は降順になります)。 M、C、およびXは、より小さい額種で同等または超過することはできません。 D、L、およびVはそれぞれ1回だけ表示できます。 Mのみを4回以上繰り返すことができます。 さらなる注記 バー表記は使用しません。むしろ、Mを追加して任意の数を表現します。 これらは、ローマ数字について従う唯一の規則です。つまり、などの奇数の式IVIもシステムで有効と見なされます。 また、一部の数値には複数の式があるため、長さnの式を持つ数値の数はカウントしないことに注意してください。代わりに、有効な式の数のみをカウントしています。 テストケース 1 → 7 2 → 31 3 → 105 上記を手動で確認したので、テストケースを再確認し、可能であれば追加してください。 受賞基準 これはコードゴルフの挑戦なので、楽しんでください!少なくとも1〜9の入力を処理できるソリューションのみを受け入れます。それ以上はボーナスです! …

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