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

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

12
プライムパリティペレグリネーション
この課題の目的は、各ステップの方向平面上の歩行グラフィカルに描写することであるの素数によって決定されたとそのバイナリ膨張のパリティ。具体的には、kkkkkk 最初の方向は固定されています、たとえば北です。 すべてのステップの長さは同じです。 ステップの方向は、北、西、南、または東で、次のように決定されます。 kkk が素数でない場合、方向は変わりません。kkk 場合素数であるとのバイナリ拡張ものの数が偶数の、右折。kkkkkk 場合素数であるとのバイナリ拡張ものの数が奇数を持って、左折。kkkkkk 実際の例として、最初の方向が北であると仮定します。最初の手順は次のとおりです。 k = 1k=1k=1は素数ではありません。そこで、現在の方向、つまり北に1ステップ移動します。 k = 2k=2k=2は素数であり、そのバイナリ展開10、は1の奇数を持っています。だから私たちは左に曲がり、今西に面しています。その方向に一歩進みます。 k = 3k=3k=3は素数であり、そのバイナリ展開、、11および偶数の1です。私たちは右に曲がり、今では北に面しています。その方向に一歩進みます。 k = 4k=4k=4は素数ではありません。そこで、現在の方向、つまり北に1ステップ移動します。 挑戦 入力:正の整数。NNN 出力:上記で定義されたウォークのプロット。NNN 追加のルール 初期方向は自由に(必ずしも北)選択することができるが、すべてに対して同じであるべきである。NNN 旋回ルールは、である、上述したものとは反対である奇数パリティに右折、さらに放置することができます。ただし、すべての同じである必要があります。NNN 出力は、歩行のグラフィカルな描写である必要があります。例えば: 歩行は線分で描くことができます。 訪問したポイントは、ドットなどのマーカーで表示できます。接続線セグメントの有無にかかわらず。 2色のラスターイメージを提供できます。1つの色は訪問したポイントに対応し、別の色は訪問していないポイントに対応します。 水平軸と垂直軸のスケールは同じである必要はありません。また、軸ラベルと同様の要素はオプションです。歩行がはっきりと見える限り、プロットは有効です。 一部のポイントは複数回アクセスされることに注意してください。プロットはこれに敏感ではありません。たとえば、ラインセグメントがプロットに表示される場合、各ユニットセグメントは、何度走査されても同じように表示されます。 コードは、任意のN無制限のリソースに対して機能するはずです。N時間、メモリ、またはデータ型の制限のために実際に大規模に失敗する場合は許容できます。 入出力は通常どおり柔軟です。特に、画像を出力するための標準的な手段のいずれかを使用できます。 バイト単位の最短コードが優先されます。 テストケース 次のプロットは、初期方向として北を使用しています。偶数パリティも右折します。歩行は線分で表されます。 N = 7: N = 3000: N = 20000: N = 159000: …

30
この文字列は正方形ですか?
次の条件が満たされる場合、文字列は正方形と見なされます。 各行の文字数は同じです 各行の文字数は、行数と同じです。 あなたの仕事は、与えられた入力文字列が正方形かどうかを決定するプログラムまたは関数を書くことです。 LF、CR、またはCRLFの選択により、入力を区切る必要がある場合があります。 改行文字は、行の長さの一部とは見なされません。 入力に末尾の改行があるかどうかを要求する場合がありますが、これは追加行としてカウントされません。 入力は文字列または1D文字配列です。文字列のリストではありません。 入力は空ではなく、スペースを含む印刷可能なASCIIのみを含むと想定できます。 正方形の文字列には真理値を、他の文字列には偽の値を出力する必要があります。 真実のテストケース: foo バー バズ 。 .s。 .ss .s。 (sはスペースを表します) ss ss (sはスペースを表します) ああああ ああああ ああああ ああああ ああああ 偽のテストケース: .. 。 。 。 .... .... 4444 333 22 333 333 abc.def.ghi いくつかの偽のケースで余分な空白行に注意してください。 これはコードゴルフです -最少バイトが勝ちます!

3
助けて、シェルピンスキーの三角形に閉じ込められている!
シェルピンスキーの三角形を 描くことは死ぬまで行われ た。ただし、他にも面白いことがあります。三角形をよく見ると、逆さまの三角形をフラクタルグラフのノードとして見ることができます。そのグラフの周りの方法を見つけましょう! まず、各ノードに番号を割り当てましょう。最大の上下逆三角形はノード0になり、レイヤーごとに(幅が最初に)下降し、連続した番号を左上から右の順に割り当てます。 小さい数字が少しぼやけていない大きなバージョンをクリックします。 ナンバリングを定義する別の方法は、センタノードがインデックスを有することである(もちろん、このパターンは、青色三角形内部無限に継続)0、およびノードの子i(次のより小さなスケールの隣接する三角形)がインデックスを有する3i+1、3i+2および3i+3。 このグラフをどのように移動しますか?任意の三角形から実行できる最大6つの自然なステップがあります。 常に、エッジの1つの中点を通って、現在のノードの3つの子の1つに移動できます。これらの動きをN、SWおよびとして指定しますSE。例えば、我々はノード上で現在している場合2、これらのノードにつながる7、8、9それぞれ。エッジを介した(間接的な子孫への)他の移動は許可されません。 また、三角形のエッジに触れない限り、3つの角のいずれかを介して、直接の親または2つの間接的な祖先のいずれかに移動できます。これらの動きをS、NEおよびとして指定しますNW。例えば、我々はノード上で現在している場合31、Sにつながる10、NE無効になりますとNWにつながります0。 挑戦 2つの負でない整数xとが与えられた場合、上記の6つの動きのみを使用yしxてy、からまでの最短経路を見つけます。最短経路が複数ある場合は、いずれかを出力します。 コードは、上の図に示されている5つのレベル以外にも機能するはずです。あなたはそれを仮定するかもしれませんx, y < 1743392200。これにより、32ビット符号付き整数内に収まることが保証されます。これは、ツリーの20レベルに対応することに注意してください。 コードは有効な入力を5秒未満で処理する必要があります。これはブルートフォース幅優先検索を除外しますが、かなり緩やかな制約である必要があります。私の参照実装は、深さ1000の任意の入力を0.5秒で処理します(ノードの場合は480桁の数値です)。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 出力は、フラット、文字列の明確なリストでなければならないN、S、NE、NW、SE、SW、任意の合理的なセパレータを使用して(スペース、改行、コンマ、","...)。 標準のコードゴルフ規則が適用されます。 テストケース 最初のいくつかのテストケースは、上の図を使用して手動で作成できます。その他は、回答が十分に効率的であることを保証します。それらについては、リストされていない同じ長さの他のソリューションがあるかもしれません。 0 40 => N N N N 66 67 => S SW N N N 30 2 => NW NW -or- NE SW 93 2 => NE SW 120 …

10
ファルコンヘビーステージ
次の4つのセットのいずれかから、置換なしの4バイトのセットを選択します(つまり、バイトが繰り返されません)。必ずしも特定の順序である必要はありません。 任意の1バイトエンコーディングの文字 00からFFの範囲のUnicode文字 -128〜127の範囲の符号付き10進整数 0〜255の範囲の符号なし10進整数 選択した4つの値(状態を入力してください)が有効な入力になります。各値を以下のASCIIアートワークのいずれかとペアにする必要があります。 4つの有効な入力のうちの1つを(何らかの方法で)与えられ、対応するASCIIアートで(何らかの方法で、文字列のリストでさえ)応答します。画像が1つの連続する2D領域にある限り、余白はすべての側面で許可されます。 最初のバイト: /\ / \ | | | | | | |____| \__/ | | | | | | | | /\ | | /\ / \| |/ \ | || || | | || || | | || || | | || || …

23
スカイラインをブラシストロークで覆う
負でない整数のスカイラインの高さリストが与えられた場合、それをカバーするために必要な連続した1ユニットの高さの水平ブラシストロークの数を答えます。 [1,3,2,1,2,1,5,3,3,4,2]として視覚化: 5 5 4 3 5334 32 2 53342 13212153342 9つのブラシストロークが必要です。 1 2 3 4 5555 66 7 88888 99999999999 例 [1,3,2,1,2,1,5,3,3,4,2] → 9 [5,8] → 8 [1,1,1,1] → 1 [] → 0 [0,0] → 0 [2] → 2 [2,0,2] → 4 [10,9,8,9] → 11

30
手紙のスピード
入力として文字列を指定すると、各文字がそれぞれのアルファベットインデックスによって右にプッシュされた新しい文字列が出力されます。 Aは遅い文字で、Zは速い文字であることは誰もが知っています。つまり、Zは25スペース分右にシフトされ、Aはまったくシフトされず、Bは1スペース分シフトされます。 プログラムはAZの大文字のみを処理する必要があり、他の文字、空白、句読点は処理できません。 シフト後に2つ以上の文字が同じスペースにある場合、最新の文字が使用されることに注意してください。(例:BA-> A) 例 "AZ" -> "A Z" "ABC" -> "A B C" "ACE" -> "A C E" "CBA" -> " A" "HELLOWORLD" -> " E H DLL OLO R W" ルール これはcode-golfであるため、どの言語バイトでも最短のコードが優先されます。 標準的な抜け穴は禁止されています。 入力は文字列として受け取る必要があります。 結果をstdout文字列に出力するか、文字列を返すことができます。 単一の末尾の空白および/または改行が許可されています。 入力または出力として小文字を使用することもできますが、使用できるのはどちらかのみです。
43 code-golf  string 

30
iOS 11計算機を実装する
iOS 11には、1 + 2 + 3の結果が24になるバグがあります。これはアニメーションの速度に関連していますが、とにかく: タスクは作成すること1 + 2 + 3 == 24です。しかし、それだけ。したがって、ほとんどのシーケンスを正しく合計するが24、引数が1で2あり3、任意の順序で返される関数を提供する必要があります。 入力例: 1 2 => 3 3 4 => 7 1 2 3 4 5 6 7 8 9 => 45 3 2 1 => 24 2 1 3 => 24 1 1 => 2 1 2 3 …
43 code-golf  math  number 

24
カオスはASCIIラダーです
あなたは何も知らない 私は物事 「カオスは梯子では、」テレビシリーズから記憶に残るラインでゲーム・オブ・スローンズ。 この課題の目的は、ASCIIアートでカオスからはしごを構築することです。 挑戦 入力 ラダー幅W >= 3(整数) ステップの高さH >= 2(整数) ラングの数N >= 2(整数)。 出力 横桟と縦レールを備えたはしご、すべて1文字幅。ラダー幅(W)には2つのレールが含まれ、ステップ高さ(H)には対応するラングが含まれます。 最上部と最下部を含むすべての横木には、上下の長さの垂直レールがH-1あります。この例では、これをより明確にします。 ラダーについて説明する印刷可能な、非空白文字のASCII文字の包含範囲であること、!(コードポイント33)に~(コードポイント126選択図実際の文字が選択される)ランダム。入力が与えられると、文字のランダムな選択のそれぞれは、非ゼロの確率を持たなければなりません。それ以外は、確率分布は任意です。 水平または垂直の先頭または末尾の空白が許可されます。 例 与えられたW=5, H=3, N=2、1つの可能な出力は次のとおりです。 x : g h q$UO{ t T 6 < bUZXP 8 T 5 g ラングと垂直セクションがあるためH*(N+1)-1、合計の高さはであることに注意してください。NN+1 追加規則 入力手段と形式は通常どおり柔軟です。たとえば、3つの数値を任意の順序で入力したり、それらを含む配列を入力したりできます。 出力は、STDOUTまたは関数から返される引数を介して行われます。この場合、改行を含む文字列、2D文字配列、または文字列の配列です。 プログラムまたは機能を提供できます。 標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース それぞれについてW, H, N、可能な出力が表示されます。 W=5, …

6
アイランドゴルフ#1:周航
これは、一連のアイランドゴルフチャレンジの最初のものです。次の挑戦 ASCII-artでアイランドを指定すると、それを迂回する最適なパスを出力します。 入力 入力は、土地と水を表す2つの文字で構成される長方形のグリッドになります。以下の例では、土地はで#あり、水はです.。ただし、任意の2つの異なる文字を使用できます。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 常に少なくとも1つの土地タイルがあります。土地のタイルはすべて連続しています(つまり、島は1つだけです)。水タイルも連続しています(つまり、湖はありません)。グリッドの外側の境界線はすべて水タイルになります。ランドタイルは斜めに接続されません。つまり、次のようなものは表示されません。 .... .#.. ..#. .... 出力 コードは、最短のナビゲーションが描画された同じグリッドを出力する必要があります。以下の例では、周航経路はで描画されてoいますが、陸地や水域のキャラクターと区別できる限り、任意のキャラクターに置き換えることができます。 周航は完全にグリッド上のすべての土地タイルを取り囲む水タイルの上に完全に描かれた単純閉曲線、、です。斜めの接続が許可されています。たとえば、これは上記の島の周航です(ただし、最短ではありません)。 .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o ..oo####..o ....oooooo. 周回ナビゲーションの長さは次のように計算されます。パス上の隣接するタイルのペアごとに、水平または垂直に接続されている場合、1を追加します。斜めに接続されている場合は、√2を追加します。上記のパスの長さは22 +7√2(≈31.9)です。 最短一周は、最短長さの一周です。プログラムは、この条件を満たすパスを1つ出力する必要があります。ほとんどの島では、複数の可能な解決策があります。長さ10 +13√2(≈28.4)の上記の島に対する1つのソリューションを次に示します。 ...oo...... ..o##oo.... .o#####oo.. .o#######o. o#########o .o.#######o ..o#####.#o ...o####.o. ....ooooo.. 詳細 あなたの解決策は、完全なプログラムまたは機能かもしれません。いずれかのデフォルトの入力と出力の方法が許容されています。 入力と出力は、複数行の文字列または文字列のリストです。言語に単一文字の文字列とは異なる文字タイプがある場合、前の文の「文字列」を「文字のリスト」に置き換えることができます。言語でグリッドの高さや幅を入力する必要がある場合は、入力してください。出力には、(オプションで)単一の末尾改行が含まれる場合があります。上記のように、代わりに3つの異なる文字#.oを使用できます(使用する文字を提出時に指定してください)。 テストケース A.固有の最短航路を持つ島: ... .#. …

30
ビットランランダウン
整数を指定するとn > 0、バイナリ表現の、0または1そのバイナリ表現の最長連続シーケンスの長さが出力されます。 例 6110バイナリで書かれています。最長のシーケンスは11なので、返す必要があります2 16→ 10000→4 893→ 1101111101→5 1337371→ 101000110100000011011→6 1→ 1→1 9965546→ 100110000000111111101010→7

3
審美的に楽しい除数ツリーを構築する
美的に満足できる除数ツリーは、n任意の合成数に対して、の平方根に最も近い除数mのペアである2つの子ノードを持つ入力の除数のツリーです。左ノードはのより小さな除数で、右ノードはのより大きな除数でなければなりません。ツリーの素数には、子ノードがないはずです。あなたのツリーは、テキストアートまたは画像の形式である場合があります。テキストアート出力のルールは次のとおりです。mmm 間隔ルール ツリー上のノードの間隔を空けるために、次のルールがあります。 ルートから所定の深さにあるノードはすべて、出力の同じテキスト行にある必要があります。 / \ NOT / \ / \ / 3 2 3 2 左側のノードでは、ノードが1桁の数字の場合、着信ブランチは右上になければなりません。そうでなければ、最後の数字のすぐ上になります。例: /および/ 3 720 正しいノードの場合、ノードが1桁の数字である場合、着信ブランチは左上になければなりません。それ以外の場合、最初の数字のすぐ上にあります。例: \および\ 7 243 出ていく左の枝の場合、枝は番号の左側に1スペースを開始する必要があります。例: 275 / 11 出て行く右の枝の場合、枝は数字の右に1スペースを開始する必要があります。例: 275 \ 25 ツリーの同じレベルにある2つのノードの間には、少なくとも2つのスペースが必要です。同時に、ツリーの同じレベルにある2つのサブツリーは、それらの間のスペースをできるだけ少なくする必要があります。 **サブツリー**が近すぎるため、このツリーは機能しません。 504 / \ / \ / \ / \ 21 24 / \ / \ / …

30
点滅する12
多くの電子機器、特に古いものは12:00、時間が設定されていないと点滅します。この課題の目的は、これを再現することです。 具体的には、タスクがする表示12:00と--:--無限ループに代わり。 期間は、 0.5秒の二つの期間に均等に分割し、1秒、であるべきです。ここで、「1秒」と「均等」は大まかに解釈できます。たとえば、結果の期間が1秒より少し長くなる場合でも、文字列の表示の間にコードが0.5秒間停止する場合は許容されます。最初の文字列を表示する前の最初の一時停止は許容されます。 それぞれの新しい文字列は、のいずれかによって表示することができ、元の文字列を置き換えるか、新しい行に。新しい文字列がそれぞれ異なる行にある場合、連続する文字列の間に空行があってはならないことを除いて、末尾の空白は許可されます。 バイト単位の最短コードが優先されます。

24
入力文字ごとにプログラムの最初の位置を出力します
チャレンジ p空でない入力文字列が与えられると、空でないプログラム/関数を記述します。これは、のソースコードでの各文字の最初の出現s位置を出力します。sp たとえば、プログラムが main() { cout << magic << cin } ^0 ^5 ^10 ^15 ^20 ^25 そして、それは入力を受け取りabcd{、出力は [1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based) ここでは、x文字位置のための有効な出力ではありません任意の出力を表し(例えば、負の数、0あなたは1ベースのインデックスを使用している場合は、NaN、Inf、文字列potato、あなたのプログラムの長さよりも数の大きい、など)。 制限事項 ソースコードの読み取りは許可されていません(適切なクインのように)。コメントの使用は許可されますが、スコアにカウントされます。 入力と出力は、合理的な形式で行うことができますが、でなければならない明確な(唯一の追加区切り文字、無randストリームと答えがそこにどこかにあると主張)、一貫性のある(例えば、x上からは常にあるべき同じ値)と人間読めます。たとえば、文字列または文字配列。入力は、印刷可能なASCII文字の文字列(または配列)であると想定できます。Unicodeセット全体を処理する必要はありません。 コード内のカスタムコードページまたは印刷不可能なASCII 言語でカスタムコードページ(Jelly、APLなど)を使用している場合は、それを考慮する必要があります(したがって、プログラム€æÆは入力の[1, x, 2]ために出力する必要があります€%æ)。-1(入力がASCIIのみであるため)常に非ASCII文字のみを使用して出力することは、有効な解決策ではありません。プログラムがネイティブにカスタムコードページを受け入れると仮定できます。つまり、プログラムに文字Aを整数に変換する方法65(ASCIIエンコーディング)がある場合、コードページの65番目の文字をに変換すると仮定できます65。 次の課題に触発されました:ポジショナルアウェアネス

30
コードゴルフの質問の難易度を計算する
ブリーフィング コードゴルフの質問の難易度は、次のように計算できます。 v質問の視聴回数はどこですか そして、a質問があり回答数です そして⌈ X ⌉は天井演算子。 また: この質問の現在の難易度:*** 仕事 2つの整数を取り(v and a)、難易度をで出力するプログラムを作成しasterisks (*)ます。 入力は、配列、分離された文字列、または分離された関数引数の形式にすることができます テストデータ Views Answers Difficulty Program Output 163 2 2 ** 548 22 1 * 1452 24 1 * 1713 37 1 * 4162 32 2 ** 3067 15 3 *** 22421 19 10 ********** 擬似コードを使用した例 …
43 code-golf  math 

30
アウトゴルフできますか?(強盗セクション)
強盗セクション 警官のセクションはここにあります。 チャレンジ あなたの仕事は、同じ言語と同じバージョン(たとえば、Python 3.5 ≠ Python 3.4)で警官の提出をアウトゴルフすることです。これは許可されていません。バイト単位の長さが元のサブミッションより短い場合、サブミッションはアウトゴルフされます。提出物をクラックするために、少なくとも1バイトだけゴルフをする必要があります。たとえば、タスクが2× nを実行することであり、提出が次の場合: print(2*input()) 次の操作を行うことにより、警官を追い抜くことができます。 print 2*input() またはこれも(ラムダが許可されているため): lambda x:2*x これを次のヘッダーで投稿します。 ##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link} 例えば: パイソン2、16 12バイト、アドナン(提出に+リンク) lambda x:2*x A005843を計算します(オフセット= 0)。 その場合、提出物をクラックしました。 得点 最も多くの提出物をクラックした人が勝者です。 ルール クラックの提出は、警官の提出と同じ言語である必要があります。 同じ入力が同じ出力になります(a(2)= 4は4のままです)。 Pythonなどの言語の場合、その言語に標準で含まれているライブラリをインポートできます。(したがって、numpy / sympyなどはありません) 入力と出力は両方とも10進数です(基数10)。 注意 このチャレンジは終了しました。Robbersセクションの勝者はfeersumです。CnRの最終スコアは以下のとおりです。 feersum:16クラック デニス:12クラック …

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