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

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

10
最少100オペレーション
概要 数字のリストが与えられたら、100にするための最も少ない操作を見つけます。 入力 数字の列。数字の順序である場合とない場合があります。数字の順序を変更することはできませんが、プラス(+)またはマイナス(-)演算子をそれぞれの間に追加して、合計が100になるようにすることができます。 出力 追加された演算子の数と、それに続く数字と演算子の完全なシーケンス。2つは、スペース、タブ、または改行で区切ることができます。 例 有効な 入力:123456789 出力:3 123–45–67+89 無効な 入力:123456789 出力:( 6 1+2+34-5+67-8+9 より少ない操作でこれを解決する方法があります)

22
合計がその数に等しい値を可能な限り等しい値のリストに分配します
おそらく単純なコードゴルフの挑戦。2つの正の整数mとが与えられた場合、合計が数値に等しい正の整数である値のnリストを作成しnますm。出力のすべての値が同じ値であるか、差が正確に1のいずれかです。 例 例えば m=6にn=3なるだろう2, 2, 2 m=7そして、n=3なる2, 2, 3か、2, 3, 2または 3, 2, 2 m=7そして、n=2なります3, 4か4, 3 m=7にn=1なるだろう7 m=7そしてn=88つの正の整数の合計は7ことができないため、エラーが生成されます。 m=10そして、n=4なる3, 3, 2, 2か、他の順列 ルール 入力と出力はどちらも正の整数のみです。 出力のすべての値が同じ値であるか、差が正確に1のいずれかです。 リスト内の値の順序は重要ではありません。 リスト内の値の合計はに等しくなりmます。 解決できない場合は、エラーまたは偽の値を生成します(たとえば、m = 7およびn = 8の場合)。 他のルールの結果m=8とn=3の順列のいずれかを生成する3, 3, 2(しません2, 2, 4) 勝者 これはコードゴルフであるため、バイト単位で測定された最短の有効な答えが勝ちです。
15 code-golf  number 

14
どのキーを押しましたか?
タスクは、キーボードで押されたキーを識別するコードを記述することです。一度に1つのキーのみが押され、標準のUSキーボードレイアウトがあると仮定できます。これは、2の上に@が付いたレイアウトです。 コードは、押されたキーの一意の識別子を出力する必要があります。これには、PrtScn、Scroll Lock、Pause、左Shift、右Shift、左Ctrl、右Ctrl、Caps Lock、Tab、Enter、テンキーのEnter、Num Lock、Insert、テンキーのIns、Backspace、Del、F1が含まれます... F12、Esc、左Windowsキー、右Windowsキー、Alt、AltGr、アプリケーションキー(コンテキストメニュー)など。 コードは、キーが押されるまで待機し、キーが殺されるまでIDを出力する必要があります。ただし、キーがリリースされるとすぐに識別子を出力する必要があります。受け取ったキーを押すことで他のアクションを実行したり、一意の識別子以外に何も出力したりしないでください。 回答では、Tab、Pause、Enter、テンキーのEnter、左のWindowsキー、右のWindowsキー、テンキーのInsertとInsのキー入力に対するコード出力を示してください。 非常に異なるキーボードを使用している場合、課題はキーボード上のすべてのキーごとに異なる識別子を出力することです。
15 code-golf 

10
フェンスを作ってください!
チャレンジ これは簡単な挑戦です。与えられた2つの正の整数 wとhの幅のASCIIフェンスを作成wしての高さh。フェンスは、次のルールを使用して構築する必要があります。 +文字はポストを表します。 -文字は、フェンスの幅を表すために使用されます。 |フェンスの高さを表すために使用されます。 後は、正確に 3 -文字が出力されている、+文字がなければなりませんその後出力されます。四隅を除いて、aを出力する他の時間は+無効になります。このルールに従うには、左からまたは右から開始することができます(例を参照)が、一貫性が必要です。 後丁度 2つの|文字は、出力された+文字がなければなりませんその後出力すること。四隅を除いて、aを出力する他の時間は+無効になります。このルールは、上または下から開始できます(例を参照)が、一貫している必要があります。 各フェンスには正確に4つのコーナーがあり、各コーナーはで表されます+。 つまり-、3 文字ごとにを出力する必要があります+。また、2 |文字ごとにを出力する必要があります+。 フェンスは常に長方形であり、両方wとhが決してより大きい100またはより小さいと仮定でき1ます。末尾および/または前の空白は許可されます。 例/テストケース w = 1 h = 1 +-+ | | +-+ w = 3 h = 2 +---+ | | | | +---+ w = 5 h = 7 +---+--+ or +--+---+ | | …

4
ナイトフィルグリッド
ナイトフィルは、ナイトチェスの駒の接続性を使用したフラッドフィルです。具体的には: 1 1 1 1 0 1 1 1 1 (0は初期点、1は接続されたセルを示します) チャレンジ スペースと壁の2Dグリッドと初期位置を指定して、グリッドでナイトフィルを実行します。最短のコードが優先されます。 ルール 入力を受け取り、任意の形式(イメージ、文字列、配列など)で出力を生成できます。入力グリッドの一部として、または別の座標として初期位置を取得できます。この説明のために、次の形式が使用されます。 ######## # = wall ######## x = initial location ## x ## ## ## ######## ## ## ######## ######## 出力は、ナイトフィルの結果が追加された入力グリッドのコピーです 塗りつぶしは、スペースや壁と同じ「色」であってはなりませんが、初期位置マーカーと同じにすることができます。たとえば、上の画像の場合、有効な出力は次のようになります。 ######## # = wall ######## @ = fill (could also have been x) ## …

6
今日はYOLDで
ディスコルディア暦カレンダー Discordiansによって使用される別のカレンダーです。 Discordian年には5つの季節があり、それぞれ73日続きます:Chaos、Discord、Confusion、Bureaucracy、The Aftermath。 Discordian週には5日間があります:Sweetmorn、Boomtime、Pungenday、Prickle-Prickle、およびSetting Orange。毎年、Sweetmorn(およびChaos)で始まります。 すべてのF ourth年(そのhappe Nグレッグと整列に対するS oをリアンうるういやのR s)は、余分のDと呼ばれるAYがカオス59とカオス60との間に挿入されているセントティブの日。それはディスコルディアン週の外にあります。つまり、聖チブの日の翌日は、プリクル・プリクルの前日であるオレンジになります。 グレゴリオ暦とディスコルディアン暦が並んでいます。どちらもグレゴリオ暦で1月1日と呼ばれる同じ日に始まり、ディスコディアン暦でカオス1と呼ばれます。 不和の聖母の最初の年(YOLD 1)は、グレゴリオ暦で紀元前1166年でした。つまり、今年(2017 AD)はYOLD 3183です。 ディスコディアンカレンダーにも休日がありますが、このチャレンジにとって重要ではないため、休日やそれらに関する情報を出力しないでください。 今日の日付(実行時)を出力または返すプログラムまたは関数を作成します。 Today is Boomtime, the 16th day of Confusion in the YOLD 3183 形式は"Today is $day_of_the_week, the $ordinal day of $season in the YOLD $year"、$ day_of_the_weekは大文字の(タイトルケース)曜日、$ ordinalは序数(1、2、3、4、...)としてのシーズンの日、$ seasonは大文字です(タイトルケース)シーズン、$ yearは年です。 プログラムまたは関数がSt. Tib's Dayに実行される場合、代わりにoutputまたはreturnが返され"Today is …
15 code-golf  date 

18
コポドーペゴポロップホップ
言語:Oppification 次のプロセスを各単語に適用することで、おもしろい会話言語が作成されます。 置きop、各子音の後に。そうCodeなるCopodope。 はい、それだけです。この課題のために、y常に子音です。 課題:脱偽装 不正な単語が与えられた場合、元の単語を返します。入力には文字のみが含まれます。最初の文字は大文字にすることができます。元の単語が空になることはなく、常に母音が含まれます。 テストケース: Oppified -> Original a a I I itop it opop op Opop Op popopop pop Copopop Cop opopopop opop Kopicopkop Kick Asopia Asia soptopopop stop hopoopopsop hoops hopoopopedop hooped ooooohop oooooh aaaopopaaa aaaopaaa Popopopsopicoplope Popsicle gopaloplopopopinopgop galloping aopopbopopopcopopop aopbopcop

24
番号を追加する
かなり簡単な課題:文字列と数値の2つの入力を受け取ります(数値はの"123"代わりに文字列と見なされる場合があります123) 文字列が数字で終わらない(つまり、正規表現に一致しない\d$)場合は、文字列の末尾に数字を追加します。 文字列が数字で終わる場合(つまり、正規表現に一致する\d+$場合)、まずそれを削除してから数字を追加する必要があります。 どちらの入力も無効または空にはなりません(無効は、数字のみを含まない数値入力によって定義されます) 番号にa -またはa が含まれることはありません.。 文字列には、改行や印刷不可能な非空白文字は含まれません。 テストケース: abc123 + 345 -> abc345 123 + 1 -> 1 hello + 33 -> hello33 123abc123 + 0 -> 123abc0 ab3d5 + 55 -> ab3d55 onetwo3 + 3 -> onetwo3 99ninenine + 9999 -> 99ninenine9999
15 code-golf  string 

11
+ pコードを解釈する
別の2文字の言語に対する最近の流行に触発されて、 ;# イントロ コミュニティのコンセンサスによると、このサイトで受け入れられる回答には、少なくとも次のプログラミング言語を使用する必要があります。 自然数が素数かどうかを判断できます 2つの自然数を加算できます 数字のリスト/タプル、および単一の数字を表すことができます この課題のために、#3は無視します。したがって、このサイトで使用できる最も単純な言語(#3を無視)には、正確に2つのコマンドがisPrimeありaddます。解釈とバイトカウントを簡単にするisPrimeためにp、とaddに割り当てましょう+。したがって、言語があり+pます。あなたの課題は、いくつかの+pコードを解釈することです。 動作 + その add命令は、2つの数値をとり、それらを加算し、その結果を出力します pisPrime命令は、単一の番号、および出力をとり1、それが素数であれば、そして0それがない場合には ルール 文字列を指定すると、その文字列を+pコードとして解釈するプログラム/関数を作成する必要があります。あなたは、十分に形成された入力(のみ取ることができる+とp文字)。 入力は柔軟です。プログラムを文字列、文字配列、コードポイントの整数配列などとして取り込むことができます。解釈されるプログラムの入力も柔軟です。整数配列を取り込んで、プログラムの実行中にエントリを使い果たすか、各命令(+およびp)が個別に入力を要求する場合があります。すべての命令に対して十分な入力があると仮定することができます。入力は、0〜200の数字で構成されることが保証されています(ただし、アルゴリズムは、正の整数入力に対して理論的に機能するはずです)。 出力も柔軟です。結果を印刷したり、リストとして返したり、すべての結果を含む文字列を返したりすることができます。印刷または文字列として返す場合、出力は改行などの数字以外の一貫した区切り文字で区切る必要があります。タブ、スペース、または,文字。末尾のセパレータまたは末尾の空白がある場合があります。また、pの出力は、1またはではなく、作業中の言語で定義されているように、任意の真実または偽の値である可能性があります0。 インタプリタは終了する場合と終了しない場合があります(完全なプログラムの場合)が、すべての命令が解釈された後に印刷を停止する必要があります。(区切り文字やヌル文字などを永久に出力し続けることはできません)。 これらの標準的な抜け穴はデフォルトで禁止されています これはcode-golfで、バイト数が最小の答えが勝ちます テストケース Program: + Input: [56, 50] Output: 106 ---------------------------------- Program: p Input: [12] Output: 0 ---------------------------------- Program: p Input: [13] Output: 1 ---------------------------------- Program: ++ Input: [172, 120, 33, 58] …

16
実際の不可視テキストを印刷する
私の以前の課題である、目に見えないテキストを印刷することは非常に一般的でした。 しかし、あなたをもっと注意深く見ている人は、出力だけでは入力されたものを読むことは不可能なので、実際には目に見えないテキストを印刷していないことに気付いているかもしれません。 だから私は本当の目に見えないテキストの挑戦はどうだろうと考えました。 印刷可能なASCII文字(0x20-0x7E)のみで構成される文字列が与えられた場合、各文字を95の印刷可能なASCII文字(0x20-0x7E範囲外のUTF-8文字)のいずれでもない個別のUnicode文字(UTF-8エンコード)に変換します 入力 文字列または文字配列/リストとしての印刷可能なASCII文字の文字列 出力 各文字が個別の非印刷可能文字に置き換えられた入力文字列。指定された各文字には、他の文字の代替として使用されない、対応する印刷不可能な文字が必要です。 印刷できない文字を印刷できない場合は、代わりに文字値を出力できます。 例えば、あなたのコードは、すべて小文字で置き換えた場合a「でね0x01、あなたが使用することはできません0x01他の文字の代用として。 また、コードは確定的でなければなりません。文字列を指定した場合など、この手段Hello、すべて小文字lのがで置き換えられ0x03、また、すべて小文字を交換する必要があり、あなたのコードは、lとS '0x03指定した任意の他の文字列。 テストケース このチャレンジのテストケースを書くのは少し難しいので、出力を16進コードのリストとして表示します input -> output "Hello" -> [0x01, 0x02, 0x03, 0x03, 0x04] "Hi!" -> [0x01, 0x05, 0x06] "" -> [] " H " -> [0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07] "yo! " -> [0x08, 0x04, 0x06, 0x07]

30
Parrotプログラムを作成する
入力が与えられると、その入力の後に改行が際限なく続きます。 入力は、印刷可能なASCII文字(0x20-0x7E)と改行(0x0A)のみで構成される文字列になります。 入力の長さが0の場合、改行を無限に出力します。 これはコードゴルフなので、各言語で最も少ないバイトです勝ちます!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

2
デニスに負けてしまいましたか?
伝説によると、ほとんどすべての人がデニスに負けています。そうでない場合、彼らはなります。 今、私はそれらの「ほぼ全員」の一人かどうか興味があります。 回答へのリンクがの形式で提供され/codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]ます。 コードの長さを見つけます。これは、リンク内の回答の最初の行(マークダウンの観点)の最後の数と見なされます。 次に、デニスの回答を検索し、同じ操作を行います。 ここで、入力とデニスの回答コード長を比較し、アウトゴルフされている場合(デニスの1つ以上の回答が入力回答より短いことを意味します)、真実の値を出力し、そうでない場合は偽の値を出力します。 回答と同じ質問にデニスに属する回答がない場合は、偽の値を出力します。 例 リンク:true リンク:(false少なくとも今のところ、変更されたら教えてください) ルール 任意の形式の真実/偽の値を使用できます。 あなたが与えられた答えの質問は、常にcode-golfです。 質問にはデニスの回答がない場合がありますが、入力された回答はデニスのものではありません。 答えの最初の行には常に数字があると仮定できます。

20
ケーキを焼いてください!
これはケーキです: _========_ | | +________+ | | +________+ | | +________+ 幅8、高さ3、深さ1です。 3つの入力からケーキを作成するプログラムを作成する必要があります。最初の入力は、中央にアンダースコアをいくつ=、一番上にsを置くかを制御します。以下は、8ではなく10の幅を持つ最初のケーキです。 _==========_ | | +__________+ | | +__________+ | | +__________+ 2番目の入力は、ケーキの高さを制御します。これは、3ではなく4の高さを持つ2番目のケーキです。 _==========_ | | +__________+ | | +__________+ | | +__________+ | | +__________+ レイヤーの繰り返しに注意してください。 3番目の入力は、その深さを制御します。その| |上に含める数。これは、深さ1ではなく2の3番目のケーキです。 _==========_ | | | | +__________+ | | +__________+ | …

26
キューブを作ってみてください!
これに基づいて:正方形を作ってみてください! これを出力する必要があります: #### # # # ### # # # # #### 「#」は入力に置き換えられます。 「A」を入力すると、次のようになります AAAA A A A AAA A A A A AAAA 「&」を入力すると、次のようになります &&&& & & & &&& & & & & &&&&

10
半分に分けて
あなたは番号が与えられますx。ここで0 <= x <= 2^32 - 1。 バイナリ形式で再帰的に分割した後、数値のリストを10進数で出力する必要があります。 例: 例1: 255 -> 255 15 15 3 3 3 3 1 1 1 1 1 1 1 1 現在のリストはただ255です。 のバイナリ表現は255です1111 1111。分割する1111と1111、10進数では15andであるand が取得されます15。 これらをリストに追加するので、次のようになります255 15 15。 これで数値15と15は入力として機能し、これらの数値は分割されます。 再度実行すると、(3 3両方15のから)が得られます255 15 15 3 3 3 3。 ロジックを続けると、最終リストはになります255 15 15 3 3 3 3 …

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