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

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

2
タワーのバランスは取れますか?
前書き ASCIIタワーと風の力が与えられたら、プログラムまたは関数を作成して、タワーのバランスをとるか、どちらに落ちるかを決定します。 たとえば、最初の塔はバランスが取れていますが、2番目の塔は左に倒れます。 # # # # ### ### ### ### # # # # ##### ##### ### ### ### # これが私の最初の挑戦です。あなたが楽しんでくれることを望みます。 行き方 塔はによって表される連結ブロックで構成され#、剛体を形成します。各ブロックは、幅と高さが1単位の正方形で、密度は一定です。タワーに作用する力には、重量と風力があります。すべての力は各ブロックに個別に作用し、ブロックの中心を通過します。 その重量により、各ブロックには1つのユニットの下向きの力が作用します。 また、風上側に隣接する別のブロックを持たない各ブロックには、風の方向に水平に作用する力があります。この力の大きさは入力として与えられます。 風の方向は、入力のどこかにASCIIフラグで示されます。風がゼロでない場合にのみ、入力にフラグが表示されます。フラグは力に影響しません。 フラグは、下に表示されるとおりになります。 Flag design and corresponding wind direction: o~~ ~~o |~~ ~~| ---> <--- 明確にするために、タワーは堅固な物体であり、バラバラにならず、地面に取り付けられていません。ただし、プログラムは各ブロックの力を個別に計算して、タワーのバランスが取れているかどうかを判断する必要があります。 例 o~~ |~~ # # > > ### >## …

30
コインフェアを作る
0またはを生成するコインがあります1。しかし、コインは偏っている可能性があると思われます。つまり、0(または1)の確率は必ずしも1/2ではありません。 フォン・ノイマンによって提案された、偏ったコインを公正なコインに「変換」する(すなわち、同等の結果を得る)ためのよく知られた手順は次のとおりです。ブロックの2つの値が異なるまで、2つのコイントスの(重複しない)ブロックを生成します。そのブロックの最初の値を出力します(2番目の値でも同様ですが、この課題のために最初のものを選択します)。直感的には、よりも高い可能性がありますが、同様に可能性があります。100110 たとえば、入力1110...は最初のブロックを破棄1し、2番目のブロックからa を生成します... 単一の結果を生成するために複数のコイントスが消費されるため、この手順は高価です。 チャレンジ 元のコインのトスを表すゼロと1の有限シーケンスを取り、すべての入力が消費されるまで、上記の手順に従って最大数の結果を生成します。 入力値の数が奇数の場合、最後のブロックは不完全な場合があります。たとえば、入力シーケンス11111は結果を生成しません(最初の2つのブロックの値は等しく、3番目のブロックは不完全です)。 ルール 入力は、負または負の数の値を持つことができ、必ずしも正または偶数である必要はありません。 入力形式は次のとおりです。 ゼロと1の配列。 オプションの区切り文字を含むゼロと1の文字列。 出力形式は次のとおりです。 セパレーターの有無にかかわらず、ゼロと1のストリング。 ゼロと1の配列。 改行で区切られた単一のゼロまたは1を含む文字列。 あなたの言語に合った同様の合理的なフォーマット。 コードゴルフ。最少バイトが勝ちます。 テストケース ここでは、入力と出力は文字列であると想定されています。 Input --> Output '1110' --> '1' '11000110' --> '01' '1100011' --> '0' '00' --> '' '1' --> '' '' --> '' '1101001' --> '0' '1011101010' --> '1111'

30
フィボナッチオリアル
定義 F(n)正整数のフィボナッチ数列は、次のように定義されます。 1. F(1) = 1 2. F(2) = 1 3. F(n) = F(n-1) + F(n-2), where n is an integer and n > 2 正の整数のフィボナッチ口径はの積です[F(1), F(2), ..., F(n)]。 仕事 正の整数が与えられた場合n、のフィボナッチオリアルを見つけますn。 スペック のフィボナッチオリアルは100、合理的なコンピューターで5秒未満で計算する必要があります。 テストケース n Fibonacci-orial of n 1 1 2 1 3 2 4 6 5 30 6 240 …

25
C配列を展開する
Cプログラミング言語では、配列は次のように定義されます。 int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6 配列のサイズは、初期化要素(この場合は6)から推測されます。この方法でC配列を記述し、明示的にサイズを変更してから各要素を順番に定義することもできます。 int foo[6]; //Give the array an explicit size of 6 foo[0] = 4; foo[1] = 8; foo[2] = 15; foo[3] = 16; foo[4] = 23; foo[5] = 42; チャレンジ 最初の方法から2番目の方法に配列を拡張するプログラムまたは関数を作成する必要があります。コードを長くするプログラムを作成していて、皮肉が大好きなので、コードをできるだけ短くする必要があります。 入力は元の配列を表す文字列になり、出力は拡張された配列定義になります。入力は常に次のように見えると安全に仮定できます。 <type> …
36 code-golf  string  parsing  c 

14
合計は常に15です
入力として負でない整数の配列を受け取り、入力配列の要素を含むベクトル/配列のセットを順番に出力するプログラムまたは関数を作成します。各ベクトルが合計15になるように分割します。 N個の要素は「15をヒット」せず、15をパスした数を切り捨てる必要があり、残りは次のベクトルの最初の要素になります。これは、入力配列の最後に到達するまで続きます。最終ベクトルの合計が15未満の場合、合計を増やすために最後に数値を追加する必要があります。 例を見れば、ルールがより簡単に理解できると思います。 Input: 3 7 5 10 Output: 3 7 5 <- Sum is 15 10 5 <- 5 is added to make the sum 15 Input: 2 4 5 9 2 3 5 0 2 4 5 0 3 Output: 2 4 5 4 <- Sum 15. 9 …

22
頭字語は、明らかにメッセージセンサーを絞り込むことができます
このため、フレーズが単語の頭字語である場合は、より良い解決方法が必要です。また、問題のフレーズと単語が再帰的な頭字語であるかどうかを確認する価値があると思います。 あなたのタスク: 単語とフレーズを行で区切って指定すると、フレーズが頭字語であり、再帰的な頭字語である場合に出力されます。(フレーズにはそれが意味するものが含まれています) 入力は、アルファベット文字とスペースで構成されます。 プログラムでは大文字と小文字を区別しないでください。 入力/出力の例: 事例1: 入力: Acronyms Acronyms can really obviously narrow your message sensors 出力: True True ケース2: 入力: FAQ frequently asked questions 出力: True False ケース3: 入力: foo bar baz 出力: False False ケース4: 入力: GNU GNU is not Unix 出力: False False ケース5: 入力: Aha …

7
円形グラフィックスとしての数字
まず、このパズルを学習して、作成するものの感触をつかみます。 あなたの挑戦は、1から100(両端を含む)の間の(10を底とする)数を与えられたパズルからのもののような円形グラフィックを出力するプログラムまたは関数を書くことです。これはこの課題に似ていますが、ローマ数字ではなくグラフィックを作成する点が異なります。次の円は、左から右に番号1〜10を表します。 パズルの答えとして、グラフィックは裏返しのローマ数字のように読む必要があります。線の太さはローマ数字記号を表し、グラフィック全体が数字を表します。参考までに、必要な線の太さは次のとおりです。各行には、その行と次の行の間に3ピクセルのパディングが必要です。 Number Roman Numeral Line Width 1 I 1px 5 V 3px 10 X 5px 50 L 7px 100 C 9px サンプルを1つか2つ投稿してください。入力が正しい、標準の抜け穴などであると仮定します。これはコードゴルフであるため、最も少ないバイトが勝ちます。同点の場合、ほとんどの票が勝ちます。がんばろう!

4
小惑星フィールドをうまくナビゲートする
前書き 誰もが小惑星フィールドをうまくナビゲートする可能性は約3,720対1であることを知っています。しかし、あなたの警告にもかかわらず、ハン・ソロはまだ彼の運を試してみようとしています。 人工生命を恐れて、船の固有の方言(お好みのCode Golf言語)で、小惑星野ASCII迷路をどの経路で進むかを決定する小惑星回避プログラムをコーディングすることにします。 入力 ミレニアムファルコンには、これに似たデータを提供する小惑星フィールドマッピングプログラムがあります。 | ##### ######### | | ###### # ### # | | # # # # #### # | @ ## #### |# # # ### ## | |## ## #### # # | |#### ##### # ## | 一番上の行はファルコンの左、一番下の行はファルコンの右、そして列は船の前にあるものを表します。 それぞれ#が障害です。 各スペースは、船が飛行できる空のスペースです。 入力の高さは常に7文字です。これは、小惑星のマッピング幅の制限です。 入力は常に32文字です(フィールド自体は30文字、開始と終了の制限は2文字)。これは、小惑星のマッピング深度の制限です。垂直バー|は、マッピングの開始と終了を示します。 @ファルコンです。入力の中央の行(4行目)と最初の列に常にあります。 …
36 code-golf  maze 

10
私がしなければならない数学の問題をいくつ教えてください!
先生はいつも宿題の中で最も複雑な数学の問題を教えてくれます。のような:pg. 546: 17-19, 22, 26, pg. 548: 35-67 odd, 79, 80-86 even。そして、宿題のためにどれくらいの時間を割くかを前もって知りたいのですが、それをすべて把握する必要はありません。それが私のためにプログラムするあなたの仕事の理由です。 仕様書 args、stdioなどとして完了しなければならない問題の詳細を示す文字列を取得します。 それらはコンマで区切られます(おそらくcomma-space区切られます) 数だけの形式で単一の問題が含まれます(例79) フォーム内の範囲17-18(ここでも、オプションのスペースを処理する必要があります) 範囲には両端が含まれます オプションで、範囲の末尾にoddまたはevenを付ける必要があります。 一連の範囲/ページの先頭に、フォームのページ番号が追加されpg. 545:ます。これもオプションのスペースを処理する必要があります。すべてのページで問題を解決する必要があるため、これらは無視しても問題ありません。 テキストは大文字でも小文字でもかまいませんが、両方ではありません。 宿題のためにやらなければならない問題の数を返す、標準出力など。 これはcode-golfなので、バイト単位の最短コードが勝ちです! テストケース pg. 546: 17-19, 22, 26, pg. 548: 35-67 odd, 79, 80-86 even -> 27 pg. 34: 1 -> 1 PG. 565: 2-5,PG.345:7 -> 5 pg. …

30
カタロニア語番号
の カタロニア番号(OEISは)多くの場合、組み合わせ論に登場する自然数の列です。 n番目のカタロニア語番号は、Dyckの単語の数です(括弧または括弧のようなバランスの取れた文字列 [[][]]です;形式的には、2文字aとbを使用して、先頭から始まる部分文字列の数がnumber以上の文字列として定義されます長さ2nで、文字列全体が同じ数のaおよびb文字を持ちます。n番目のカタロニア語番号(n> = 0の場合)も、次のように明示的に定義されます。 n = 0から始めて、最初の20個のカタロニア語番号は次のとおりです。 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190... チャレンジ STDINまたは受け入れ可能な代替手段を介して負でない整数nを取り、n番目のカタロニア語番号を出力する完全なプログラムまたは関数を作成します。プログラムは、入力0〜19に対して少なくとも機能する必要があります。 I / O 入力 プログラムは、STDIN、関数の引数、またはこのメタ投稿ごとに受け入れ可能な代替のいずれかから入力を受け取る必要があります。入力した数値は、標準の10進数表現、単項表現、またはバイトとして読み取ることができます。 言語がSTDINまたは受け入れ可能な代替から入力を取得できない場合(のみ)、ハードコーディングされた変数またはプログラム内の適切な同等物から入力を取得できます。 出力 プログラムは、n番目のカタロニア語番号をSTDOUT、関数結果、またはこのメタ投稿ごとに受け入れ可能な代替物に出力する必要があります。標準の10進数表現、単項表現、またはバイトでカタロニア語番号を出力できます。 出力は適切なカタロニア語番号で構成され、オプションで1つ以上の改行が続きます。抑制できない言語のインタープリターの一定の出力(挨拶、ANSIカラーコード、インデントなど)を除き、他の出力は生成できません。 これは、最短の言語を見つけることではありません。これは、すべての言語で最短のプログラムを見つけることです。したがって、私は答えを受け入れません。 この課題では、実装されている限り、課題より新しい言語は受け入れられます。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。それ以外は、コードゴルフのすべての標準ルールに従わなければなりません。ほとんどの言語での提出は、適切な既存のエンコーディング(通常はUTF-8)でバイト単位でスコア付けされます。また、n番目のカタロニア語番号を計算するための組み込み関数が許可されていることに注意してください。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes …

9
正しい順序でキャンディーを食べる
キャンディーを食べるということになると、私は一般的な素人よりも高い基準を守っています。「それを混ぜる」と「最後のベストを保存する」の間に微妙なバランスがあります。 このチャレンジでは、各文字がキャンディーを表す文字列が与えられます。異なる文字(大文字と小文字が区別されます)は、異なる種類のキャンディーを表します。次に、プログラムは、以下の手順に基づいて、キャンディーの正しい消費順序を決定する必要があります。このタスクを実行するために、完全なプログラム(STDIN / STDOUT)または名前付き関数のいずれかを作成できます。 私のキャンディスタッシュがであるとしましょうoroybgrbbyrorypoprr。最初に、キャンディーを同じタイプの山にソートし、上部にあるより多くの量で、より低いASCII文字値をタイブレーカーとして使用します。 rrrrrr oooo bbb yyy pp g 次に、キャンディーの各行を間隔を空けて等間隔に配置します。たとえば、キャンディーが3つある場合、1つは道の3分の1、2分の3、最後に配置されます。 .r.r.r.r.r.r ..o..o..o..o ...b...b...b ...y...y...y .....p.....p ...........g 次に、各列を下って最終的なキャンディの注文を作成しますrorbyroprbyorrobypg。 入力 キャンディスタッシュを含む文字列。上記の例の入力は次のとおりです。 oroybgrbbyrorypoprr 出力 キャンディーを含む文字列が正しい消費順序に再編成されました。 rorbyroprbyorrobypg 得点 これはコードゴルフです。バイト単位の最短回答が優先されます。標準のコードゴルフ規則が適用されます。

18
ピタゴラスの定理を視覚的に説明する
ピタゴラスの定理の一般的な視覚的説明は次のとおりです。 正方形はa + b = c、ピタゴラスの定理が言うように、辺の長さの2乗との面積を表すことを意図しています。 この部分はあなたが見せなければならないものです。 あなたのタスク 入力として2つの整数を取得します。これは、辺aとb直角三角形(例:)を表すためのもの3, 4です。 その後、長さのうちの正方形を作るだろうa、bとcのうちの#文字。たとえば、ここは3です。 ### ### ### 次に、これらを特定のピタゴラスのトリプレットを説明する数式にフォーマットします。 ##### #### ##### ### #### ##### ### #### ##### ### + #### = ##### =と+記号の両側にスペースがあり、すべてが下にあることに注意してください。 あなたは、の値を取得することはありませんaとbのメイクというc非整数。 これはコードゴルフなので、バイト単位の最短コードが勝ちです! テストケース (時間ができたらもっと来る、これらは手で作るのは本当に難しい) 3, 4 ##### #### ##### ### #### ##### ### #### ##### ### + #### = ##### …

28
JavaはJavaScriptに対して、Carはカーペットに対して
JavaScriptとJavaの違いは何ですか?に対するGreg Hewgillの答えに触発されたタイトルの盗難 前書き JavaとJavaScriptはプログラマーの間で一般的に使用される言語であり、現在Stack Overflowで最も人気のあるタグです。しかし、よく知られているように、似たような名前は別として、この2つに共通点はほとんどありません。 プログラミングの最も悪名高い討論の1つに敬意を表し、タグ検索の最近の不満に触発されて、次のことを提案します。 チャレンジ 入力として文字列を受け取るプログラムを作成します。car文字列が「Java」で始まり、「JavaScript」が含まれていない場合に返されます。そうでなければ、を返しcarpetます。 入力と出力の例 車: java javafx javabeans java-stream java-script java-8 java.util.scanner java-avascript JAVA-SCRIPTING javacarpet カーペット: javascript javascript-events facebook-javascript-sdk javajavascript jquery python rx-java java-api-for-javascript not-java JAVASCRIPTING ノート 入力マッチングでは大文字と小文字を区別しないでください 出力の可能性のみcarまたはcarpet 回答がJava、JavaScript、またはRegexを使用している場合の想像上のボーナスポイント 別のタイトル:JavaとJavaScript、そしてハムとハムスター

5
文字、数字、記号、スペース、繰り返し
定期的に遭遇するASCII文字は97個あります。それらは4つのカテゴリに分類されます。 レター(合計52) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 数字または数字(合計10) 0123456789 記号と句読点(合計32) !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 空白(合計3) スペース 、タブ\t、および改行\n。(改行バリアント\r\nは1文字として扱います。) 簡潔にするために、これらのカテゴリをそれぞれL、N、S、Wと呼びます。 LNSW希望する文字の24の順列のいずれかを選択し、無制限に繰り返して自分用のプログラミングテンプレートを作成します。 たとえば、順列を選択するとNLWS、プログラミングテンプレートは次のようになります。 NLWSNLWSNLWSNLWSNLWS... このテンプレートに基づいてプログラムまたは関数を作成する必要があります。 すべてLが任意の文字(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)に置き換えられます。 すべてNが任意の数字(0123456789)に置き換えられます。 すべてSが任意の記号(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)に置き換えられます。 すべてWが空白文字( \t\n)に置き換えられます。 基本的に、コードはパターンに従う必要があります <letter><number><symbol><whitespace><letter><number><symbol><whitespace>... 質問のタイトルが示すように、必要に応じて、4つの文字カテゴリの異なる順序を選択できます。 ご了承ください: カテゴリの置換には異なる文字を使用できます。例えば、9a ^8B\t~7c\n]正当テンプレートに準拠NLWSNLWSNLWS(\tおよび\nそのリテラル文字になります)。 コード長の制限はありません。例えば1A +2B -and 1A +2Bおよび1A and 1allはテンプレートに適合しNLWSNLWSNLWS...ます。 テンプレートに準拠したコードは、拡張されていないASCII文字を1つ受け取り、上記の分類のメンバーであるカテゴリに基づいて0〜4の数値を出力する必要があります。つまり1、入力が文字の2場合、数字の3場合、記号の4場合、空白の場合に出力されます。出力0の入力は、これらのどれも(ない場合は制御文字)。 入力の場合、代わりに、入力ASCII文字のコードを表す0から127までの数字を入力できます。 コードに必要な入力(charコードとして)と出力のペアは、次のとおりです。 in out 0 0 1 0 2 0 3 0 4 0 5 0 …

5
Zzub Zzif(リバースフィズバズ)
すべての数字が削除されたフィズバズ出力のスニペットが与えられた場合、フィズバズスニペットが正しいように、可能な限り低い値で正しい数字を入力します。この課題の目的のために、fizzそしてbuzzそれぞれ、3と5の彼らの通常の値を持っています。 入力がfizz、buzzおよび空の行の無効なシーケンスである場合、代わりにzzubzzif(改行の有無にかかわらず)出力します。 入力と出力は、改行で区切られた行、または言語にとって便利な文字列の配列形式である場合があります。 大文字を使用すると、無視したり、好きなことをしたりできます。 :あなたは、これらの1つ以上を処理するために選択する必要がありますfizzbuzz、fizz buzz、buzz fizz、などがありますが、これらのフォーマットの少なくとも一つを選択する必要があります。 すべての入力は、の一連のシーケンスfizz、buzzおよび空の行であると想定できます。 例 入力: フィズ 出力: 2 fizz 4 入力: バズ フィズ 出力: buzz fizz 7 入力: フィズバズ 出力: 13 14 fizzbuzz 16 17 入力: 出力: 1 入力: フィズ フィズ 出力: zzubzzif 入力: 出力: zzubzzif

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