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

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

8
コードゴルフイメージダウンローダー
多くの画像処理の課題では、投稿に画像が含まれており、問題に取り組むために画像をファイルに保存する必要があります。これは特に面倒な手作業です。私たちプログラマーはそのような面倒な作業にさらされる必要はないはずです。あなたの仕事は、Code Golf.SEの質問に含まれるすべての画像を自動的にダウンロードすることです。 ルール プログラムはのどの部分にも接続できstackexchange.comますが、画像の場所を除き、他のドメインには接続できません(URL短縮機能を使用しないでください)。 整数Nは、コマンドラインまたはstdinで入力として指定されます。 URL は、Code Golfの質問への有効なリンクであることが保証されています。http://codegolf.stackexchange.com/questions/N 質問Nの本文に表示される各画像は、ローカルコンピューター上のファイルに保存する必要があります。次の場所のいずれかを使用できます。 現在のディレクトリ ユーザーが入力したディレクトリ プログラムでは、質問本文の画像以外のファイル(ユーザーアバターや回答に含まれる画像など)を保存しないでください。 画像はオリジナルと同じファイル拡張子で保存する必要があります。 これはコードゴルフです。できる限り短いプログラムを書いてください。 回答の妥当性基準 同じ名前の複数の画像、HTML要素と同じ名前のテキストなど、さまざまな可能性のあるエッジケースがあります。回答は、2015年1月10日以前に投稿された質問の一部の改訂で失敗することが示される場合にのみ無効になります。

7
Minecraftのチェストの配置
ビデオゲームMinecraftは、仮想世界を構成する3D 整数ラティスにさまざまな種類のブロックを配置および削除することをすべて目的としています。各格子点には、ブロックを1つだけ含めるか、空にすることができます(公式には「空気」ブロック)。この課題では、3Dワールドの1つの水平な2Dプレーンと、1つのタイプのブロック、チェストのみを考慮します。 チェストはプレイヤーにアイテムを保存させます。2つのチェストが同じ水平面で直交して隣接している場合、それらのテクスチャはリンクし、2倍の容量を持つダブルチェストが形成されます。ダブルチェストより大きなものは作れません。トリプルチェストもクワッドプルチェストもありません。 チェストブロックは、直交する隣接する4つのポイントがすべて空であるか、ダブルチェストの一部ではないチェストブロックが含まれている場合にのみ、空のラティスポイントに配置できます。これらの配置ルールにより、どのチェストブロックがリンクしてダブルチェストを形成するかについて、あいまいさが生じないことが保証されます。 たとえば、.空のスペースとCチェストであると仮定します:(数字は、単に識別のために空のスペースでもあります。) .......C.. .1.C2.C3.. ........5C .CC4..CC.. .......... 4つの隣人が空いているため、チェストをスポット1に配置できます。 チェストはスポット2に配置できます。これは、隣接するチェストが(まだ)ダブルチェストの一部ではないためです。 ダブルチェストの形成方法にはあいまいさがあるため、チェストをスポット3に配置することはできません。 隣接するチェストは既にダブルチェストの一部であるため、チェストをスポット4に配置することはできません。 チェストはスポット5に配置できます。斜めに隣接するダブルチェストは何の影響も及ぼしません。 グリッドを超える領域が空であると仮定すると、グリッド.内のすべてを*チェストを配置できるかどうかに変更すると、次のようになります。 ******.C** ***C**C.** *..***..*C .CC.*.CC.* *..***..** もちろん、すべての*スペースが同時にチェストで占められるわけではありませんが、チェストが1つしかない場合は、どのチェストにも置くことができます。 チャレンジ かかるプログラムや機能書く.とCグリッド、およびすべての変更.には*胸を印刷したり、結果のグリッドを返し、そこに配置することができる場合を。 入力は、stdinまたはファイルから、または関数の文字列引数として指定できます。 、テキストのすなわちA完全な矩形グリッド、少なくとも1つの文字の幅と身長のみを含む-あなたが入力がうまく形成されていると仮定してもよい.し、C必要に応じて最後の行の後の最後の改行があると仮定してもよい(出力中の1つが存在してもよいです)。 入力のチェストの配置が上記のルールと一致していると仮定することができます。どのチェストがダブルチェストを形成するかについてあいまいさはありません。 必要に応じて、任意の三つの異なる使用することができ、印刷可能なASCII文字の代わりに文字を.、Cと*。改行の代わりに他のものを使用することはできません。 すべてのチェストは通常​​のチェストです。ない胸トラップされたか、エンダーチェストを。 得点 最少バイトの送信が勝ちです。 もう少し難しいMinecraft関連のチャレンジについては、Nether Portal Detectionをお試しください。
20 code-golf 

8
数値をバイナリに変換します...しかし、2を使用することも許可されています
このnumberphileビデオで言及されている「2進数で2進数」表記に基づいて、入力として単一の数値を取り、2が許可される「バイナリ」システムでその数値のすべてのバリエーションを出力する関数を記述します。 ルール コードは完全なプログラムではなく、関数/メソッドでなければなりません 入力は、関数への唯一のパラメーターとして渡される整数です 出力は、「2進数で2進数」表記に変換された入力番号のすべての有効なバリエーションです 出力は関数の戻り値ですが、明らかな限り(たとえば、3つのint、3つの文字列、コンマ/スペースで区切られた文字列、intの配列など)、順序は重要ではありません。 まれに、結果を得るために言語に組み込み関数が含まれている場合は、許可されません バイト単位の最短コードが勝者です 出力の説明 あなたが番号を渡されている場合の例では、9、あなたにバイナリに変換することができ1001ますが、あなたが許可されている場合2、それぞれの位置でSを、あなたはまた、それを書くことができます201(つまり2*4 + 0*2 + 1*1)、または121(つまり1*4 + 2*2 + 1*1)、この表に示すように: +----+----+----+----+ | 8s | 4s | 2s | 1s | +----+----+----+----+ | 1 | 0 | 0 | 1 | | 0 | 2 | 0 | 1 | | 0 | …

1
有限体または整数上の多項式の因数分解
組み込みの因数分解/多項式関数を使用せずに、整数または有限体上の既約に完全に多項式を因数分解します。 入力 プログラム/関数はn入力として素数(またはゼロ)を受け取ります。フィールド/リングは、その次数の有限フィールド(つまりZ/nZ)、またはのZ場合にのみnです0。そうnでない0場合、または素数の場合、プログラムは失敗する可能性があります。多項式はになりますF[x]。 プログラム/関数も入力として多項式を受け取ります。 入力にはある程度の柔軟性があります。入力を受け取る方法を必ず指定してください。たとえば、多項式は係数のリストとして、またはほとんどの人が期待する形式(例:)50x^3 + x^2、またはその他の合理的な形式で入力できます。または、フィールド/リングの入力形式も異なる場合があります。 出力 プログラム/関数は、完全に因数分解された多項式を出力します。複数のルートを展開したままにすることができます(つまり、の(x + 1)(x + 1)代わりに(x + 1)^2)。バイナリ演算子間の空白を削除できます。並置をに置き換えることができ*ます。奇妙な場所に空白を挿入できます。ファクターを任意の順序に並べ替えることができます。x用語だけかもしれません(x)。xと書くことができますx^1。ただし、定数項にはが含まれない場合がありますx^0。無関係な+兆候は許可されます。あなたは0前にある用語を持っていないかもしれません、彼らは省かれなければなりません。各因子の先頭項がなければならない正で、負の符号は、外部でなければなりません。 テストケースでは、プログラムはこれらのそれぞれに対して妥当な時間(たとえば、2時間以内)で出力を生成できる必要があります。 入力: 2, x^3 + x^2 + x + 1 出力: (x + 1)^3 入力: 0, x^3 + x^2 + x + 1 出力: (x + 1)(x^2 + 1) 入力: 0, 6x^4 – 11x^3 + …

4
数字0、3、7のないビットxorで数値を分解します
チャレンジ 正の10進数をとる関数またはプログラムを作成し、それをAと呼び、次のような2つの正の数値BとCを出力します。 A == B bitxor C BおよびCには、10進表現に数字0、3、または7を含めることはできません。 例 >>> decompose(3) 1, 2 >>> decompose(7) 1, 6 >>> decompose(718) 121, 695 >>> decompose(99997) 2, 99999 >>> decompose(4294967296) 4294968218, 922 >>> decompose(5296080632396965608312971217160142474083606142654386510789497504098664630388377556711796340247136376) 6291484486961499292662848846261496489294168969458648464915998254691295448225881546425551225669515922, 1191982455588299219648819556299554251659915414942295896926425126251962564256469862862114191986258666 分解は一意ではないため、関数/プログラムはこれらの例とまったく同じ結果を出力する必要はありません。 非常に詳細なルール 提出は完全な機能またはプログラムの形であるべきです。importステートメントは最終スコアにカウントされます。 入力Aには常に少なくとも0、3、または7の数字が含まれると仮定できます。 分解が常に存在すると仮定できます。 BigIntは、言語の標準ライブラリの一部であるか、言語のde jureパッケージマネージャーを介してインストールできる場合に使用できます。 関数は高速でなければなりません。100桁の数字を入力した場合、最新のコンピューターで実行するのに20秒以内、10桁の数字を入力した場合、2秒以内です。 関数/プログラムは、少なくとも100桁までの入力をサポートする必要があります。 関数/プログラムがN <100桁までの整数のみをサポートできる場合、最終スコアに対して+ 10×(100 / N-1)バイトのペナルティがあります。これは、インポートが冗長である場合でも、ゴルファーがより広い範囲の数字をサポートすることを奨励するためです。 入出力が明確に10進表記である限り、入出力の表示に制限はありません。 組み込み整数型では不十分な場合、関数は文字列/ BigIntsを入出力できます。 …
20 code-golf  number 

21
階段の挑戦
あなたの仕事は、この芸術作品を再現することです。 _____ | | | | _____| | | | | _____| | | | | _____| | | | | _____| 答えはこれを再作成し、結果としてこれを印刷する必要があります。すべての言語が許可され、アートの直接印刷は行われず、ある程度の操作が必要です。最小バイトの答えが勝ちです。 UTC木曜日の午前6時30分頃に閉まります。 Javaでこれを行った友人が元のことを見せてくれたので、彼はソースコードを見せることを拒否しました。:D 代替文字を使用することはできません (簡単になりますか?)。 現在のリーダーボード Pyth -28バイト-isaacg CJam -30バイト-Runer112 CJam -32バイト-MartinBüttner 最高票: C -73バイト-Paul R isaacgは、PythのStaircase Challengeを通過したことで冠を獲得しました。PPCGでこれらのような課題に注意してください!

30
ショックプローブによる死:それはたくさんのサイコロです
Webcomic Darths&Droidsでは、コミックのベースとなる架空のロールプレイキャンペーンでR2-D2を演じるピートは、かつて主張(警告:リンクされたコミックのネタバレ)、Phanastacoriaのロストオーブが装備されていたと主張するショックプローブ、彼は今やなんと1048576d4損傷の。(GMはこれを確認も否定もしていません。)ほとんどの人が実際にそれほど多くのサイコロを振る忍耐力を持たないことは合理的に明らかであるはずなので、彼のためにそれを行うコンピュータープログラムを書き、合理的な方法で転がされた合計値を出力しますフォーマット。エントリは、プログラムサイズ(最短プログラム、バイトカウント、勝率)、全体および言語ごとの両方でランク付けされ、実行時の関係を壊します。回答は、完全なプログラムまたは関数定義のいずれかです。 言語ごとのスコア パイス Maltysen-8バイト* ジャクベ-10バイト APL アレックスA-10バイト CJam オプティマイザー-11バイト J ɐɔıʇǝɥʇuʎs-12バイト** Clip10 Ypnypn-12バイト** K JohnE-13バイト Ti-84ベーシック SuperJedi224-17バイト* R MickyT-23バイト OCTAVE / MATLAB Oebele-24バイト パリ/ GP チャールズ-25バイト** Wolfram / Mathematica LegionMammal978-27バイト Perl Nutki-29バイト AsciiThenAnsii-34バイト ルビー ヘギン-32バイト** ConfusedMr_C-51バイト** コモドールベーシック マーク-37バイト** PHP イスマエル・ミゲル-38バイト VBA ショーン・チェシャー-40バイト** パワーシェル Nacht-41バイト** Javascript ラルフマーシャル-41バイト edc65-54バイト(すべてのブラウザーで利用できるわけではないES6機能が必要です。) ルア cryptych-51バイト …
20 code-golf  random 

5
置換パスを描く
次の図が垂直交差チューブのセットであると想像してください。 1 2 1 2 1 2 3 4 \ / \ / \ / \ / X | | | / \ / \ / \ / \ 2 1 1 2 | X | \ / \ / X X / \ / \ 3 1 4 2 …

1
数字によるジャグリング
あなたの仕事は、与えられたテンプレートを完成させることにより、有効なジャグリングパターンを生成することです。しかし、最初に、おそらくそのようなパターンがどのように示されるかを知る必要があります。 Siteswapの概要 Siteswapは、ジャグリングパターンの確立された表記法です。パターンをビートに分割することで機能します。打つたびに、ボールを投げるときにあなたの左手と右手が交互になります。各スロー(つまり、各ビート)は、そのボールが次にスローされるタイミングを示す数字で示されます-これは、スローの高さに直接対応します。 いくつかの例を見てみましょう。これらすべてのアニメーションはこちらでご覧ください。 3ボールカスケード 最も単純な3ボールパターン。各ボールは3拍ごとに投げられます(交互の手)。これは次のようにビートを書き出します(ASCIIラインは、同じボールが投げられる2つのビートを接続します)。 Beat 1 2 3 4 5 6 7 8 9 Hand L R L R L R L R L Siteswap 3 3 3 3 3 3 3 3 3 └─┼─┼─┘ │ │ └─┼───┘ │ └─────┘ で投げ、すべてのボールに注意してくださいLビートは、次回にスローされますR。このパターンは、通常と表記されるようにbeat.Siteswapパターンは、暗黙のうちに繰り返し333単にものの、3また十分であろう。 441 次に、siteswap 441を使用したもう少し複雑な例を示します。 Beat 1 2 3 …
20 code-golf 

1
Fillominoソルバー
Fillominoは、グリッドをポリオミノで埋めるパズルです。各ポリオミノは、連続したセルの領域です。グリッド表示は、polyominoが各セルをカバーするサイズを示します。たとえば、pentomino(5)は5、5つの連続したセルのそれぞれに表示されます(以下を参照)。同じサイズの2つのポリオミノは境界線を共有できませんが、斜めに境界線を持つことができます。 各パズルについて、あなたはいくつかの与えられたものから始めて、残りのセルを埋めなければなりません。簡単なパズルの例と解決策: あなたの仕事:四角いパズルを考えて、それを解いて答えを出してください。入力は、stdin、単一のコマンドライン引数、またはテキストファイルを介して行われます。入力は整数として与えられ、それぞれに数字の行がn続きます。空のセルは、period()として与えられます。上記のパズルの例では、次のようになります。nn. 5 3..66 5.4.6 .54.6 .1.6. ..312 出力は、コンソールまたはテキストファイルへnのn数字の行で与えられた解決されたパズルです。 33366 55446 55466 51462 33312 パズルが有効でない場合は、を出力します0。入力の形式が正しくない、または解決策がない場合、パズルは無効になる可能性があります。複数のソリューションがある場合、それらのいずれかまたはすべてを出力できます。 各セルは1桁で表されるため、パズルはすべてポリオミノのサイズ9以下で構成されます。大きなポリオミノなしでは解決できない場合は、無効であると考えてください。 有効な答えは、単にテストケースのソリューションを出力するだけでなく、特定のパズルを解決します。オンラインでもローカルでも、外部リソースはありません。そこならば起こるビルトインフィルオミノ解決機能、あなたがそれを使用することはできませんと言語であることを。要するに、フェアをプレイします。 テストケース: 入力: 9 ..21.3..5 .5...5..5 .1.44.334 ...53.4.. 2.3.3..5. 1.15.5.15 ..45..1.. .24.53.53 ....2.... 出力(可能な解決策): 322133315 355445555 315443334 235531444 233135551 141535515 344553155 324553553 321223133 一部のポリオミノには番号が指定されておらず、複数のポリオミノが複数あることを忘れないでください。与えられた数とポリオミノの数の間には1対1の関係はありません。 スコアは、標準のコードゴルフ、バイト単位のプログラムのサイズです。

1
これらの厄介なドアから私の壁を守る
ドアノブはすばらしいものですが、ドアを開けると、常に周囲の壁がへこんでいます。次のように、部屋のASCIIアートを入力する必要があります。 +---------+--X --X --+-----+ | \ \ |\ | \ | | \ \ | \ | \| | X | \ | X | / | | \ X | / | \ / | / | \ / | +---X --+-------X------+-----+ そして、次のようにドアストップのある部屋を出力します。 +---------+--X --X --+-----+ | \ . …
20 code-golf 

8
ピクセルアート、エピソード2:スーパーマリオブラザーズのマップ1-1を表示する
最後の課題(Pixel-art、episode 1:display Super Mario)は単なるトレーニングでした... 今回は、もう少し作業する必要があります。スーパーマリオブラザーズの最初の世界地図をすべて、敵なしで、マリオなしでNESに表示する必要があります。 プログラムまたは関数は、次の画像のすべてのピクセルを表示するか、それに類似した画像ファイル(BMP、PNG、またはGIF)を生成する必要があります。 プログラムは決してインターネットにアクセスしてはいけません。 必要に応じて、出力をズームできます。また、適切な色であれば、ピクセルはASCII要素またはHTML要素にすることができます。 従う必要があるモデルは次のとおりです。 画像全体:http : //i.stack.imgur.com/2kfVc.png タイルセット(必要な場合):http : //img.ctrlv.in/img/14/10/19/5443f44c7eb78.pngこのタイルセット、サブセット、またはスーパーセットを作成できます。 タイルセットを別の画像ファイルとして使用するか、コード(たとえば、base64)に含めることができます。分離している場合は、バイト単位のサイズをスコアに追加します。 座標付きのマップ:http : //goo.gl/c8xJIxまたはhttp://img.ctrlv.in/img/14/10/19/544373adc9f64.png 色: スカイブルー:#5C94FC 黒:#000000 ピンク:#FCBCB0(ブロックと城用) ブラウン:#C84C0C(ブロックと城用) オレンジ:#FC9838(「?」ブロック用) 薄緑:#80D010(茂み、山、旗竿、反り用) ダークグリーン:#00A800(茂み、山、旗竿、ワープ用) 白:#FCFCFC(雲) 水色:#3CBCFC(雲) 最短回答が勝ちます。 編集:2つのスコアボードがあります。1つはバイトでカウントされるもの、もう1つは文字でカウントされるものです。 がんばろう! PS:プログラムの最適化に役立つ注意事項を以下に示します。 雲、茂み、山には繰り返しパターンがあります(48列ごと) フライングブロックは4行目と8行目にのみ存在します マップの各タイルまたはスプライトは最大4色を使用します(表示方法に応じて青または透明を含む) 茂みは、さまざまなカラーパレットを備えた単なる「雲の頂上」です 同じミニセットの16x16pxピースを使用して、シングル、ダブル、トリプルのブッシュ/クラウドを簡単に形成できます。これは、シングルおよびトリプルマウンテンにも当てはまります

13
ロールダンジョンとドラゴンのサイコロ
ダンジョンとドラゴンをプレイしたいのですが、サイコロがありません!あなたの挑戦は、いくつかのD&Dサイコロを振ることです。 Backus-Naur形式の入力形式の仕様は次のとおりです。 <valid-input> ::= <opt-integer> "d" <integer> <opt-modifier> <opt-integer> ::= | <integer> <opt-modifier> ::= | "+" <integer> <integer> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | <integer> <integer> の前のオプションの整数dは、振るサイコロの数です。少なくともである必要があり、指定さ1れ1ていない場合のデフォルトになります。 直後に必要な整数dは、各ダイが持つ辺の数です。少なくともでなければなりません1。各ダイの側面は、から始まる明確な連続した正の整数1です。 オプションの修飾子はである場合があり+0、+0指定されていない場合はデフォルトになります。 たとえば、入力では2d10+5、1〜10の2つの乱数を生成し、それらを加算して5を加算します。次に、結果を出力します。 次のような無効な入力を、受信した場合は2d、d20+、0d4、2d5+1+2、2+2それはこの形式に適合しない、または何か他には、「出力しなければなりませんInvalid input」。それ以外の場合は、入力に従って重み付けされた単一のランダム整数のみを出力する必要があります。例えば、3d6より多く生産する必要がある10よりもS 4秒。 テストケース Input …
20 code-golf  random 

7
Bejeweled / match 3ゲームに動きがあるかどうかを判断する
バックグラウンド 宝石をちりばめたようなゲームでは、プレイヤーは同じ色の3つを連続して一致させるために、8x8の宝石の隣接する2つの宝石を交換する必要があります。宝石は、水平または垂直に一致させることができます。ゲームプレイは動きがなくなるまで続けられ、その結果、3回連続でゲームが終了します。 仕事 目標は、宝石をちりばめたゲームがまだ終わっていないかどうかを判断するプログラムを書くことです。言い換えれば、少なくとも3つ連続して移動する可能性があるかどうかを確認する必要があります。連続して3つ以上の宝石が存在する可能性がありますが、それでも有効な動きです。 入力 プログラムは、標準入力を介してBejeweledグリッドの8x8表現を受け入れる必要があります。7つの宝石の色はそれぞれ、1〜7の数字で表されます。各行には1行が含まれ、それぞれ8桁で構成される8行が入力されます。例を参照してください。入力は常にこの形式に従い、3行連続して入力されることは決してないと想定できます。 出力 プログラムは、次いで、必要があります(標準出力に)出力yes又はno少なくとも一つの有効な動きは、その行に3つ以上の宝石をもたらす存在するか否かに応じ。プログラムは、yesまたはのいずれかの単一のインスタンス以外を出力してはなりませんno。 ルール プログラムは外部ファイルやリソース、コマンドライン引数を使用したり、特定のファイル名を要求したりしてはいけません。ソースコードのバイト数が最も少ないプログラムが優先されます。 例 入力: 12314131 13224145 54762673 61716653 61341144 23453774 27645426 75575656 出力: yes 入力: 35261546 76421754 15743271 62135642 35617653 64565476 54427254 15635465 出力: no 追加のテストケースについては、以下のMT0の回答を参照してください。
20 code-golf  game  grid 

12
今夜または今週末に接続してください
これは私の最初のコードゴルフですので、広すぎる場合や、良いパズルの情報が足りない場合はお知らせください! チャレンジ オンタリオ州および世界の他の地域では、使用時間(TOU)料金を使用して電気料金が請求されます。 日付と時刻を考えると、私はピーク時(赤)、ミッドピーク(黄)、オフピーク(緑)の期間にいるかどうかを知りたいです。 入力 入力は、時間精度が最小の許容可能なタイムゾーンのないISO 8601日時形式で提供されると仮定しますYYYY-MM-DDThh[:mm[:ss]](Tはリテラル)。 例 2014-09-01T14 2014-09-01T17:30 2014-09-01T17:30:02 出力 出力は文字列でなければならないOn、MidまたはOff。 ルール 最短のコードが勝つ この課題のために、法定休日を無視します この投稿で見つかった情報を想定しています。オンタリオ州エネルギー省によって、使用時間の価格設定の実際のルールは将来変更される可能性があります。 情報 夏の平日(5月1日から10月31日) オフピーク:19h00-07h00 ミッドピーク:07h00-11h00および17h00-19h00 オンピーク:11h00-17h00 冬の平日(11月1日から4月30日) オフピーク:19h00-07h00 ミッドピーク:11h00-17h00 オンピーク:07h00-11h00および17h00-19h00 週末 オフピーク:終日
20 code-golf  date 

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