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

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

11
3フルーツのパイをいくつ作ることができますか?
3つのフルーツのパイは、3つの異なるフルーツでできています。あなたが持っている5つの果物の量から作ることができる最も3つの果物のパイは何ですか? たとえば、 1 apple 1 banana 4 mangoes 2 nectarines 0 peaches あなたは2パイを作ることができます: apple, mango, nectarine banana, mango, nectarine 入力: 5つの非負整数、またはそれらのリスト。 出力:これらの量のフルーツから作成できる3フルーツパイの最大数。最少バイトが勝ちます。 テストケース: 1 1 4 2 0 2 2 2 2 2 2 3 0 6 0 6 0 0 12 5 3 2 1 5 1 14 14 …
32 code-golf 

4
ルービックキューブのIDシーケンス
移動シーケンスは、ルービックキューブ上の移動(ターン)のシーケンスです(表記については、下をご覧ください)。空の移動シーケンスのほかに、他の多くの移動シーケンスがあり、キューブにはまったく影響しません。これらの移動シーケンスをIDシーケンスと呼びます。 これらのIDシーケンスの一部は、U2 R R' U2またはなどのように決定するのが明らかU D2 U' D2です。最初のものでは、2つのランダムな動きが行われU2 R、その後すぐに元に戻されR' U2ます。2番目は似ています。最初の2つのランダムな動きU D2とその後は元に戻されますが、順序は逆U' D2です。これは機能します。移動Uは上層のD2部分のみに影響し、移動は下層の部分のみに影響するためです。これら2つの移動シーケンスの視覚化を見ることができます。 他の同一性シーケンスはまったく明らかではないかもしれません。たとえば、シーケンスR' U' R' F' U F U' R' F R F' U' R U2 R。かなり長いですが、キューブにはまったく効果がありません。 移動記法 移動は、立方体の6つの面のうちの1つの1つのレイヤーの回転を表します。動きは、顔を表す1文字と、それに続く回転角度を表すオプションの接尾辞で構成されます。 文字とそれに対応する面は、U(上-上を向く面)、D(下-下を向く面)、R(右-右を向く面)、L(左-左を向く面)です。 、F(正面-あなたに面する側面)およびB(背面-あなたから離れる面)。 接尾辞がない場合、顔は時計回りに90度回転し、接尾辞'は顔が反時計回りに90度回転し、接尾辞は顔が2時計回りに180度回転します。 表記に問題がある場合は、http://alg.cubing.netを使用するだけで、そのような移動シーケンスを視覚化できます。 チャレンジ あなたの仕事はプログラムを書くことで、それは移動シーケンスがアイデンティティかどうかを決定します。 完全なプログラムまたは関数を作成できます。入力として(STDIN、コマンドライン引数、プロンプト、または関数引数を介して)移動シーケンス(移動はスペースで区切られます)を含む文字列を受け取り、ブール値または対応する整数(戻り値またはSTDOUTを介して)を出力する必要があります( True-1-IDシーケンス/ False-0-IDシーケンスではありません)。 接尾辞'がプログラミング言語で問題を引き起こす場合は、数字ではなく別の記号を使用できます。R F2 U3許可されていません。 これはcodegolfであるため、最短のコード(バイト単位)が優先されます。 テストケース "" -> True "U2 R R' U2" …

30
ロシアンルーレット、リローデッド
ロシアンルーレットで遊ぼう! 通常、これは最短のMOD 6プログラムを作成する競争になりますが、クリックするたびに勝つ可能性が低くなるため、あまり現実的ではありません。ルールは次のとおりです。 本物の6シューティングゲームをエミュレートします。 1つの弾丸が6つの部屋の1つに配置され、バレルは演奏前に1回だけ回転します。 n回目の試行で負ける可能性は1/6です。 n回試行した後 に負ける確率は1 /(6-n)です 最大で6回の試行で負けることが保証されています。 負け: テキストを表示する *BANG!* プログラムを終了します。 受賞: 「勝つ」とは、銃が発射しないことを意味しますが、弾丸はハンマーに近い1つの部屋です。 テキストを表示する *click* プログラムを終了する機能とともに、「トリガー」をユーザーに提示します(「ctrl + c」、以下を参照)。 プログラム固有: トリガーを引くことは、最初の試行を含む何らかの形式のユーザー入力です。(これは、キーストローク、マウスクリックなど何でも構いません。テキストプロンプトは必要ありません。) 終了するまで、プログラムのインスタンスは1つだけ許可されます。(プログラムの新しいインスタンスを実行することは、バレルに良いスピンを与えることに似ています。つまり、次のクリックで負ける確率は1/6にリセットされます。) 最短のコードが勝ちます! リーダーボード コードスニペットを表示 <style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } …
32 code-golf  game  random 

13
5318008-電卓の楽しみ
世界中の学校で、子供たちはLCD計算機に数字を入力し、「Boobies」という言葉を作成した後、逆さまにして笑い声に変えます。もちろん、これは最も一般的な単語ですが、生成できる他の多くの単語があります。 ただし、すべての単語の長さは10文字未満でなければなりません(ただし、辞書にはこれより長い単語が含まれているため、プログラムでフィルターを実行する必要があります)。この辞書には大文字の単語がいくつかあるので、すべての単語を小文字に変換します。 英語の辞書を使用して、LCD計算機に入力できる単語のリストを作成します。すべてのコードゴルフの質問と同様に、このタスクを完了するための最短のプログラムが勝ちます。 私のテストでは、次のように入力して収集したUNIXワードリストを使用しました。 ln -s /usr/dict/words w.txt または、ここで入手してください。 たとえば、上記の画像は35007、計算機に数値を入力し、逆さまにすることで作成されました。 文字とそれぞれの番号: b:8 g:6 l:7 私:1 o:0 s:5 z:2 h:4 e:3 数字がゼロで始まる場合、そのゼロの後に小数点が必要であることに注意してください。数字は小数点で始まってはいけません。 これはMartinBüttnerのコードだと思う。 /* Configuration */ var QUESTION_ID = 51871; // Obtain this from the url // It will be like http://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; /* …
32 code-golf 

3
PPCGユーザー名をゴルフダウン
チャットで行ったコメントとそれに続く会話に触発されて、この挑戦​​をしました。 この辺りのイニシャルで言及されているのは私だけですか?私たちはすべてゴルフをすることについてです。MBとD-nobがあり、... O. 私が「CH」として知られているなら、他の誰もが同様に初期ベースのニックネームを持つべきだと思います。 以下は、プログラミングパズルとコードゴルフのトップ100ユーザーの評価リストです。 Martin Büttner Doorknob Peter Taylor Howard marinus Dennis DigitalTrauma David Carraher primo squeamish ossifrage Keith Randall Ilmari Karonen Quincunx Optimizer grc Calvin's Hobbies ugoren Mig gnibbler Sp3000 aditsu histocrat Ventero xnor mniip Geobits J B Joe Z. Gareth Jan Dvorak isaacg edc65 Victor steveverrill feersum …
32 code-golf  string 

9
アスキーアートオブザデイ#2-フロースネーク
A もGosper曲線として知られているフロースネークは、単純なプロセスの各注文/反復してサイズが指数関数的に増殖する、フラクタル曲線です。以下は、建設の詳細とさまざまな注文のいくつかの例です。 Order 1 Flow Snake: ____ \__ \ __/ 注文2フロースネーク: ____ ____ \__ \ \__ \__/ / __ __/ ____ \ \ \ / __ \__ \ \/ \ \ \__/ / __ \/ ____ \/ / \__ \__/ __/ Order 3 Flow Snake: ____ ____ \__ \ \__ …

8
矢印はどこにありますか?
矢印はどこにありますか? この課題の目標は、矢印をたどって、それが指しているキャラクターを出力することです。 例 入力: d S------+ b | | c +--->a 出力: a 入力: S-----+---a->c | V b 出力: b 矢印はcで分割されているため、矢印は指していません。これはa、このパスが矢印の先に到達しないことを意味します。 入力: a S s | | V V b c 出力: b 入力: d s<+S+--V ||| Q -++ 出力: Q このパスは、で始まりS、右に下がり、右に上がり、次にQに向かいます。パスはからSにまっすぐに進まないことに注意してください+。 入力: d s-+ +-S +--+ +-->b | | …
32 code-golf 

4
コード説明フォーマッター
成功したコードゴルフの提出は、本質的に、至る所に狂ったシンボルで満たされています。投稿を理解しやすくするために、多くのコード愛好家は自分のコードの説明を含めることを選択します。彼らの説明では、コードの行は垂直分解図に変わります。 たとえば、これが私のコードだった場合: 1_'[3:~2@+]` 作成できる多くの図の1つは次のようになります。 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` 目標 この課題では、コードの行を取得し、説明テキストを簡単に追加できるダイアグラムを作成する説明自動フォーマットツールを作成します。 これをより便利な課題にするために、ユーザーはフォーマット文字列を提供することにより、各行の内容を指定できます。書式設定文字列は、文字のみを含む2行目でA-Za-z、プログラムと同じ長さです。文字は、説明の中でプログラムの文字を印刷する順序を示しています。 以下は、ブラケットのような書式設定のない I / Oの例です。 123423 AabcBC 1 2 3 2 3 4 ブラケット プログラム内の複数の文字が同じ優先度レベルを持っている場合、その文字セットはコードの単一ブロック(グループを形成する場合)またはブラケットセット(それらが間に他の文字を含む場合)として機能します。一般的なルールは簡単です: 優先順位の高い他のすべての文字が図のその上の行に既に表示されるまで、文字は図の行に表示されません。 同じ優先順位の文字は常に同じ行に印刷されます。特定の文字が行に表示される場合、同じ優先順位の他のすべての文字が行に表示されます。 同じ優先順位の文字のセットは、それに囲まれた他のすべての文字が少なくとも1回現れるまで、各行に現れ続けます。これにより、「ブラケットのような」構造が可能になります。bceab優先度がある場合、b文字は2行目に表示され(2番目に高い優先度です)、すべてのcea文字が表示されるまで表示され続けます。優先度文字列がabcadeafgaである場合、すべてがその中にbcdefg含まれていると見なされ、4 aが出現するまで4 がすべて表示され続けgます。 その他のフォーマット要件 出力のすべての行は同じ長さ(入力行の長さ)で、必要に応じてスペースが埋め込まれている必要があります。入力プログラム行にはスペースが含まれる場合がありますが、これらのスペースにも優先文字が与えられます。出力/入力の末尾の改行はオプションです。 得点 これはコードゴルフで、最少バイトが勝ちます。 例 ここに、より複雑なフォーマットを使用したコードのコメント例を示します。 1_'[3:~2@+]` abbcddeffgch 1 …

2
ファイナリ番号を標準化する
バックグラウンド ほとんどの人は、10進数、2進数、16進数、8進数などのいくつかの整数ベースシステムに精通している必要があります。たとえば、16進法では、abc.de 16という数字は次を表します。 a*16^2 + b*16^1 + c*16^0 + d*16^-1 + e*16^-2 ただし、無理数のような非整数ベースも使用できます。そのようなベースは、黄金比φ=(1 +√5)/ 2≈1.618 ...を使用します。これらは、整数ベースと同様に定義されます。数ようabc.deのφは、(ここに、eは桁の整数である)を表すことになります a*φ^2 + b*φ^1 + c*φ^0 + d*φ^-1 + e*φ^-2 原則として、数字のいずれかが負になる可能性があることに注意してください(私たちはそれに慣れていませんが)-先行する負の数字を表します~。この質問の目的のために我々はから数字に自分自身を制限~9する9ので、我々は明確に(間にチルダ付き)1つの文字列として番号を書くことができます。そう -2*φ^2 + 9*φ^1 + 0*φ^0 + -4*φ^-1 + 3*φ^-2 と書かれ~290.~43ます。私たちは、このような番号に電話phinary数。 進数は常に標準形式で表すことができます。これは、数字1とのみを使用し0、11どこにも含まず、オプションのマイナス記号を付けて数字全体が負であることを示すことを意味します。(興味深いことに、すべての整数は標準形式で一意の有限表現を持っています。) 標準形式ではない表現は、次の観察を使用して常に標準形式に変換できます。 011 φ = 100 φ(なぜならφ 2 =φ+ 1) 0200 φ = 1001 …

3
自己交差ポリゴンの面積
2D空間内の頂点のリストによって定義される、潜在的に自己交差するポリゴンを考えてみましょう。例えば {{0, 0}, {5, 0}, {5, 4}, {1, 4}, {1, 2}, {3, 2}, {3, 3}, {2, 3}, {2, 1}, {4, 1}, {4, 5}, {0, 5}} このようなポリゴンの領域を定義する方法はいくつかありますが、最も興味深いのは偶奇規則です。平面内の任意の点を取り、その点から無限に(任意の方向に)線を引きます。その線が多角形を奇数回交差する場合、ポイントは多角形の領域の一部であり、多角形を偶数回交差する場合、ポイントは多角形の一部ではありません。上記のポリゴンの例では、輪郭と偶奇領域の両方があります。 通常、ポリゴンは直交しません。面積を数えやすくするために、このような単純な例を選択しただけです。 この例の領域は17(他の定義または領域がもたらす可能性のあるものではない、24または33そうではない)です。 この定義では、多角形の面積はその巻き順とは無関係です。 チャレンジ 多角形を定義する整数座標を持つ頂点のリストが与えられたら、偶奇規則の下で面積を決定します。 関数またはプログラムを作成し、STDINまたは最も近い代替、コマンドライン引数または関数引数を介して入力を取得し、結果を返すか、STDOUTまたは最も近い代替に出力できます。 前処理されていない限り、任意の便利なリスト形式または文字列形式で入力を取得できます。 結果は、有効桁数が6桁(10進数)の浮動小数点数か、浮動小数点表現が有効桁数が6桁の有理数結果でなければなりません。(合理的な結果を生成する場合、それらは正確になる可能性が高いですが、参照用の正確な結果がないため、これを要求することはできません。) 適切なデスクトップマシンで、10秒以内に以下の各テストケースを解決できる必要があります。(このルールには多少の余裕がありますので、最善の判断をしてください。私のラップトップで20秒かかる場合、疑いの恩恵があります。1分かかる場合、私はしません)。非常に寛大なはずですが、十分に細かいグリッドでポリゴンを離散化してカウントするアプローチ、またはモンテカルロのような確率的アプローチを使用するアプローチを除外することになっています。優れたスポーツマンであり、いずれにしても制限時間を満たすことができるようにこれらのアプローチを最適化しようとしないでください。;) ポリゴンに直接関連する既存の関数を使用しないでください。 これはコードゴルフであるため、最短の提出(バイト単位)が優先されます。 仮定 すべての座標は、範囲内の整数です0 ≤ x ≤ 100、0 ≤ y ≤ 100。 少なくとも3、多くても50頂点があります。 頂点が繰り返されることはありません。また、頂点が別のエッジにあることもありません。(ただし、リストには同一直線上の点がある場合があります。) テストケース …

12
ヒートマップのデコード
ヒートマップ 天井に下向きのサーマルカメラがある長方形の部屋を考えます。部屋には、いくつかの強度の熱源があり1-9、背景温度は0です。熱は各ソースから放散され、(非対角線)ステップごとに1単位低下します。たとえば、20x10部屋 ...........1........ .................... ...8................ ..5...............2. .................... .1.................. ................1... .................65. .................... ............2....... 9つの熱源が含まれており、サーマルカメラによって示される温度勾配は 34565432100100000000 45676543210000000000 56787654321000000110 45676543210000001221 34565432100000012321 23454321000000123432 12343210000001234543 01232100000012345654 00121000000011234543 00010000000121123432 グラフィカル形式では、これは次のようになります。 勾配から、すべてではなく一部の熱源の位置と強度を推測できます。たとえば、すべて9のsは最高温度を持っているので、常に推測できます8。この場合は、勾配で極大値を生成するため、常に推測できます。2それは別のものを持っていないので、右の境界近くにも、それは地元の最大値ではないにもかかわらず、推測できる2隣人として。5その熱は同様にそれらの近くにより強い源によって生成される可能性がありますので、sが、一方で、推測されていません。0Sはない熱源を含まないことが知られているが、他のすべてのタイルができる潜在的なものを含みます。不確実なタイルをハイフンで示しましょう-、対応する数字による特定の熱源、および期間による特定の空きスペース.: ---------..1........ ----------.......... ---8-------......--. ----------......--2- ---------......----- --------......------ -------......------- .-----......-----6-- ..---.......-------- ...-.......-2------- あなたの仕事は、温度勾配からこの推測されたパターンを生成することです。 ルール 入力は、改行または垂直パイプの|どちらか適切な方で区切られた文字列として与えられ、出力は同じ形式になります。入力および/または出力に末尾の区切り文字がありますが、先行する区切り文字はありません。入力のサイズはさまざまですが、幅と高さは常に少なくとも4です。機能と完全なプログラムの両方が許容されます。最小のバイトカウントが優先され、標準の抜け穴は禁止されています。 追加のテストケース 入力: 898778765432100 787667654321100 677656543211210 678765432112321 567654321123210 グラフィカル形式では次のようになります。 出力: -9---8-------.. -------------.. --------------. …

29
分解された部分文字列
前書き stringを観察しましょうabc。これから作成できる部分文字列は次のとおりです。 a, ab, abc, b, bc, c 次のように、最初の文字列の下にそれらを配置する必要があります。 abc a b c ab bc abc 文字列の順序は重要ではないため、これも完全に有効です。 abc a ab abc b bc c したがって、サブストリングは、初期ストリングのサブストリングの位置の下に配置されます。したがってabcdef、substringのcde場合、次のようになります。 abcdef cde タスク タスクは、上記のように、すべての部分文字列を0より大きい長さに揃えることです。文字列自体にはアルファベット文字のみが含まれ、少なくとも1文字は含まれると想定できます。パディングには、スペースまたはその他のアルファベット以外の印刷可能なASCII文字(32 - 127)を使用できます。言及するかもしれない必要はありませんが、文字列自体はそうではないように、ユニークな文字が含まれていますabaから、a2回出現します。 テストケース 入力: abcde 可能な出力: a ab abc abcd abcde b bc bcd bcde c cd cde d de e …
32 code-golf  string 

8
合計3ペニーに何匹のギニアがいますか?
1971年の10進数化まで、英国のお金はポンドを240ペニーに分割することに基づいていました。シリングは12ペニーでしたので、20シリングはポンドになりました。最小額面は、ペニーの4分の1のファージングでした。コインには他にも多くの宗派やニックネームがありましたが、システムに慣れていない場合はかなり混乱する可能性があります。 チャレンジ (ほとんど)古い英語の金銭を他の金銭に変換できるプログラムまたは関数を作成します。ユーザーが使いやすくするには、複数形とニックネームをサポートする必要があります。 これらはあなたが支持しなければならない宗派とそれらの同義語です。便宜上、ファージングでの価値が各ラインをリードしています。 1: farthing, farthings 2: halfpence, halfpenny, halfpennies 4: penny, pennies, pence, copper, coppers 8: twopenny, twopennies, twopence, tuppence, half groat, half groats 12: threepence, threepenny, threepennies, threepenny bit, threepenny bits, thruppence, thrupenny, thrupennies, thrupenny bit, thrupenny bits 16: groat, groats 24: sixpence, sixpenny, sixpennies, sixpenny bit, …

16
バランス三元コンバーター
チャレンジアイデアのクレジットは@AndrewPiliserに送られます。サンドボックスでの彼の最初の提案は放棄され、彼がここで数ヶ月活動していないので、私は挑戦を引き継ぎました。 バランス三元法は、非標準の数字システムです。そう-あなたは更に左に行くように、それは3倍値の桁の増加という点で、三元のようなもの100である9と100128です。 ただし、0、1、および2の値を持つ代わりに、数字の値は-1、0、および1になります。(これを使用して、任意の整数を表現できます。) この挑戦のために、数字の意味は、+1のように書くことになる+、-1として書き込まれます-、と0だけです0。バランスの取れた3進法では-、数字の前にある記号を使用して、他の数字システムのように数字を無効にしません。例を参照してください。 あなたの仕事は、32ビットの10進数の符号付き整数を入力として受け取り、それを平衡3進数に変換する完全なプログラムを作成することです。どんな種類の組み込みベース変換関数も許可されていません(Mathematicaにはおそらく1つあります...)。入力は、標準入力、コマンドライン引数などになります。 入力にが0ある場合を除き、入力には先行ゼロが存在する場合がありますが、出力には存在しない場合があります0。 例 これらは、バランスの取れた3進数から10進数への変換です。他の方法で変換する必要があります。 +0- = 1*3^2 + 0*3^1 + -1*3^0 = 9 + 0 + -1 = 8 +-0+ = 1*3^3 + -1*3^2 + 0*3^1 + 1*3^0 = 27 + -9 + 0 + 1 = 19 -+++ = -1*3^3 + 1*3^2 + 1*3^1 + …

7
再帰クインによるニュートン法
あなたの仕事は、ニュートンの方法を使用して2の平方根を計算することです。プログラムは、ニュートン法を使用して反復を計算し、次の反復のソースコードを出力します(これは同じことを実行できる必要があります)。 ニュートンの方法は、ウィキペディアでかなり網羅的に説明されています ニュートン法を使用して平方根2を計算するには、次のようにします。 定義する f(x) = x^2 - 2 定義する f'(x) = 2x 定義x[0](最初の推測)= 1 定義する x[n+1] = x[n] - (f[n] / f'[n]) 各反復は、x [n]を2の平方根に近づけます。そう - x[0] = 1 x[1] = x[0] - f(x[0])/f'(x[0]) = 1 - (1 ^ 2 - 2) / (2 * 1) = 1.5 x[2] = …
32 code-golf  math  quine 

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