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

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

10
この正方形は対称ですか?
ちょうど4からなる4×4テキスト・グリッドにかかるプログラムや関数を書くAの、4 B、の4 Cの、及び4 Dの、例えば: ACDC BBCA BADD ABCD のABCD配置は任意ですが、常に4つあります。入力が有効であると想定できます。必要に応じて、末尾に改行があるか、読み取り順序で1行になっていると仮定することもできますACDCBBCABADDABCD。また、必要に応じて、文字ABCDを0123またはで置き換えることも1234できます(ただし、それだけです)。 テキストグリッドに反射対称または回転対称の形式がある場合、真理値を出力します。具体的には: 対称の中央の水平線がある場合。例えば BACD BACD BACD \___ bottom mirrors top BACD / 対称の中心垂直線がある場合。例えば BCCB DAAD CAAC BDDB \/___ right mirrors left 対称の対角線がある場合(どちらの方向にも)。例えば ___ diagonally mirrored / ABDC BACD DCAB CDBA \___ diagonally mirrored 90°回転対称がある場合。例えば BDAB ACCD same if rotated 90 degrees (or …

3
間違っていることを証明してください!
前書き 人生におけるあなたの使命は簡単です:インターネット上で人々を間違って証明してください! これを行うには、通常、それらのステートメントを慎重に分析し、それらの矛盾を指摘します。 これを自動化する時が来ましたが、私たちは怠け者なので、可能な限り少ない労力(読み:最短のコード)で人々が間違っていることを証明したいと思います。 仕様 入力 入力は、連言標準形の式になります。この形式については、言語のニーズに応じて、以下の形式を使用するか、独自の形式を定義できます(ただし、純粋なCNF以外の形式でエンコードすることはできません)。ただし、テストケース(ここ)は以下の形式で提供されます(ただし、独自のテストケースを生成するのはそれほど難しくありません)。 入力は、変数のリストのリストになります(文字列として読むことも、文字列を要求することもできます)。入力は、それぞれが2つのリストのリストである一連の節として記述された、連言標準形(CNF)の式です。句の最初のリストは正のリテラル(変数)をエンコードし、2番目のリストは負の(否定)リテラル(変数)をエンコードします。句のすべての変数はORで結合され、すべての句はANDで結合されます。 より明確にするために:[[[A,B],[C]],[[C,A],[B]],[[B],[A]]]として読むことができます: (A OR B OR (NOT C)) AND (C OR A OR (NOT B)) AND (B OR (NOT A)) 出力 出力はブール値です。たとえば、いくつかの真実の値または偽の値です。 何をすべきか? それは簡単です:手元に与えられた式が充足可能かどうかをチェックします。たとえば、式全体が「true」になるようにすべての変数にtrueとfalseの割り当てがあるかどうかを確認します。数式が満足できる場合は「true」、そうでない場合は「false」になります。 おもしろい事実:これは一般的な場合のNP完全問題です。 注:真理値表を生成し、結果のエントリが真であるかどうかを確認することは許可されています。 コーナーケース 空の第3レベルのリストを取得した場合、その句にはそのような(正/負)変数はありません-有効な入力です。 必要に応じて、他のコーナーケースを未定義のままにすることができます。 空の式(1番目のレベルのリスト)でtrueを返し、空の句(2番目のレベルのリスト)でfalseを返すこともできます。 誰が勝ちますか? これはコードゴルフなので、バイト単位の最短回答が勝ちです! もちろん、標準ルールが適用されます。 テストケース [[[P],[Q,R]],[[Q,R],[P]],[[Q],[P,R]]] -> true [[[],[P]],[[S],[]],[[R],[P]],[[U],[Q]],[[X],[R]],[[Q],[S]],[[],[P,U]],[[W],[Q,U]]] -> true [[[],[P,Q]],[[Q,P],[]],[[P],[Q]],[[Q],[P]]] -> false …
22 code-golf  math  logic 

10
アルファベットを渦巻きに転がす
与えられたときにn、必要に応じて繰り返されるnラテンアルファベットで構成される長いスパイラル文字を印刷するプログラムまたは関数を記述ABCDEFGHIJKLMNOPQRSTUVWXYZします。このスパイラルは、アルファベットだけ前方に進む必要があります。 アルファベットスパイラルに関連していますが、スパイラルはアルファベットを前後に走り、スパイラルは一定です。 テストケース 4 AB DC 40 UVWXYZ TGHIJA NSFABKB MREDCLC LQPONMD KJIHGFE 0 10 GHIJ FAB EDC 1000 UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ TGHIJKLMNOPQRSTUVWXYZABCDEFGHIJA SFABCDEFGHIJKLMNOPQRSTUVWXYZABKB REZCDEFGHIJKLMNOPQRSTUVWXYZABCLC QDYBMNOPQRSTUVWXYZABCDEFGHIJCDMD PCXALEFGHIJKLMNOPQRSTUVWXYZKDENE OBWZKDEFGHIJKLMNOPQRSTUVWXALEFOF NAVYJCDMNOPQRSTUVWXYZABCDYBMFGPG MZUXIBCLCDEFGHIJKLMNOPQREZCNGHQH LYTWHABKBABCDEFGHIJKLMNSFADOHIRI KXSVGZAJAZGHIJKLMNOPQROTGBEPIJSJ JWRUFYZIZYFUVWXYZABCDSPUHCFQJKTK IVQTEXYHYXETQRSTUVWXETQVIDGRKLUL HUPSDWXGXWDSPUVWXYZYFURWJEHSLMVM GTORCVWFWVCROTGHIJAZGVSXKFITMNWN FSNQBUVEVUBQNSFABKBAHWTYLGJUNOXO ERMPATUDUTAPMREDCLCBIXUZMHKVOPYP DQLOZSTCTSZOLQPONMDCJYVANILWPQZQ CPKNYRSBSRYNKJIHGFEDKZWBOJMXQRAR BOJMXQRARQXMLKJIHGFELAXCPKNYRSBS ANILWPQZQPWVUTSRQPONMBYDQLOZSTCT ZMHKVOPYPONMLKJIHGFEDCZERMPATUDU YLGJUNOXONMLKJIHGFEDCBAFSNQBUVEV XKFITMNWVUTSRQPONMLKJIHGTORCVWFW WJEHSLMLKJIHGFEDCBAZYXWVUPSDWXGX VIDGRKJIHGFEDCBAZYXWVUTSRQTEXYHY UHCFQPONMLKJIHGFEDCBAZYXWVUFYZIZ TGBEDCBAZYXWVUTSRQPONMLKJIHGZAJA SFAZYXWVUTSRQPONMLKJIHGFEDCBABKB REDCBAZYXWVUTSRQPONMLKJIHGFEDCLC QPONMLKJIHGFEDCBAZYXWVUTSRQPONMD …
22 code-golf  string 

14
プライム水曜日
プライム水曜日 あなたの仕事は、特定の年の月のプライム日に当たる水曜日の数を数えることです。たとえば7-13-16、最高の水曜日です。一貫性を保つため、すべての日付にグレゴリオ暦を使用します。 入力 プログラム/機能への入力は1年(例2016)であり、柔軟性があります。今年は間の整数になります1912年と2233年包括的。 出力 出力も柔軟で、水曜日のプライム数(例:)である必要があり18ます。 得点 これはコードゴルフなので、バイト単位の最短コードが勝ちです! テストケース 入力- >出力 -------------------- 1912 - > 19 1914 - > 16 1984 - > 17 1996 - > 19 2063 - > 19 2150 - > 16 2199 - > 18 2233- > 18

18
退屈な数字を見つけるためのゴルフ
整数に連続して繰り返される数字/数字のシーケンスが含まれている場合(私が「連続的に」と言った理由は理解できます)、5回以上、「退屈」と呼びます。 たとえば、11111退屈ですが、そうで12345はありません。 説明書 入力として整数を取る 整数が退屈であれば真理値を出力し、整数が退屈でなければ偽値を出力します。 例 11111=> trueまたは1(1回5回繰り返す) 12345=> falseまたは0 1112111=> falseまたは0 4242424242=> trueまたは1(42回5回繰り返す) -11111=> trueまたは1 3452514263534543543543543543876514264527473275=> trueまたは1(543回5回繰り返す) 他のタイプの「真」および「偽」を使用する場合は、それを指定します。 ルール 基本的なコードゴルフ規則が適用されます。 がんばろう!
22 code-golf  number 

19
ヘルプ:エイリアンプログラマーはASCIIのみを話す
シーンの設定: 長い一日を過ごした後、お気に入りの娯楽、PPCGの魅力的な質問に答えることでくつろぐので、それは平均的な午後です。あなたにとって良い日ではありませんでした。それらのとてつもないPythプログラマーは最高の答えを得続け、それはあなたの雰囲気を殺している。突然、新しい質問が投稿されました!あなたは決心します。今回はCJammersではありません。猛烈に、あなたはタイプし始め、文字の流れを産みます。最終製品となる見事なBrainFuckループの胎児。入力して入力します。もっと早く!さらに速く!あなたはあまりにも集中しているので、画面上のライトが点滅し始めるのに気付くことすらありません。突然、モニターが緑色に点灯します。これは、デスクトップにブランド化された異星人のようなシンボルです。あなたの完璧なスキルを使用してcat ~/Desktop/aliensymbolたくさんの数字、メッセージが表示されます!あなたが抜け目のないPPCGプログラマであることから、あなたはそれがASCIIのように見えることに気付くでしょう。あなたに関係なく、あなたprint(chr(i) for i in file)とメッセージを解読します。あなたの最初の考え:「これをコミュニティと共有する必要があります!」。 ... 誰がそれを考えたでしょうか?エイリアンと最初に接触するのはPPCGの謙虚なプログラマーだろうということ。なんで私達なの?それは、私たちが人間の知性の縮図だからかもしれません。あるいは、BrainFuckが外国語とほぼ同じくらい近いからかもしれません。それにもかかわらず、エイリアンは-彼らがいる超知的な生命体である-人類を知的なものとして分類すべきかどうかをテストしたい。私たちの精神力のテストとして、エイリアンは私たちに技術的な文化であることを示すためにいくつかのコンピュータープログラムを送るように頼みました。問題は、彼らが理解している唯一の人間の言語は数値ASCIIであるということです! 人類が本当の知的アルファである生き物を示すのを助けてください。テキストベースのソースコードを数値のASCIIバージョンに変換するスクリプトを送信する必要があります。残念ながら、当社の未開発の技術により(オバマ氏に感謝)、できるだけ小さな翻訳プログラムを送信する必要があります。彼らがPPCGに連絡することを選んだのは良いことです! チャレンジ: この課題の前提は簡単です。プログラムのソースコード(または、一般的なテキストファイル)を取得するプログラムを作成し、各行の下にASCII変換を含むスペース区切りバージョンを出力します。つまり、テキストファイルの入力が与えられた場合、そのファイルの各行を出力し、その後にその行の各文字のASCII表現を含む行を出力する必要があります(各数字が表す文字と並んでいます)。 例はこれを非常に明確にします。hello world入力として悪名高いのソースコードを取得します。 #include <stdio.h> int main() { printf("hello, world\n"); return 0; } あなたのプログラムは出力するはずです: # i n c l u d e < s t d i o . h > 35 105 110 99 108 117 100 101 …

20
逆にして減算
チャレンジの説明 正の整数を取り、nその桁を逆にしてrev(n)、これら2つの数値の差の絶対値を取得および取得します:(|n - rev(n)|またはabs(n - rev(n)))。 例: n = 5067 rev(n) = 7605 |n - rev(n)| = |5067 - 7605| = |-2538| = 2538 この操作を何回も繰り返した後、ほとんどの数字は0(ループを終了する)になります... 5067 -> 2538 -> 5814 -> 1629 -> 7632 -> 5265 -> 360 -> 297 -> 495 -> 99 -> 0 ...ただし、一部の数値(など1584)は無限ループに陥ります: 1584 -> 3267 …

24
バンド名を並べ替える
チャレンジの説明 あなたのような、名前をそれぞれ有する多くのバンドによって記録された多くのトラック、との音楽ライブラリを持ってQueen、Aerosmith、Sunny Day Real Estate、The Strokes。オーディオプレーヤーがライブラリをバンド名のアルファベット順に表示する場合、The多くのバンド名がで始まるため、通常はその部分をスキップTheします。これにより、メディアコレクションを簡単にナビゲートできます。この課題では、文字列のリスト(配列)を指定して、そのようにソートする必要があります(つまりThe、名前の先頭の単語を省略します)。メソッドまたは完全な作業プログラムを作成できます。 サンプル入力/出力 [Queen, Aerosmith, Sunny Day Real Estate, The Strokes] -> [Aerosmith, Queen, The Strokes, Sunny Day Real Estate] [The Ramones, The Cure, The Pixies, The Roots, The Animals, Enrique Iglesias] -> [The Animals, The Cure, Enrique Iglesias, The Pixies, The Ramones, The Roots] [The …

26
緊密な言葉
前書き Puzzling SE のRand Al'Thorの投稿によると、緊密な単語とは、アルファベット順で3つの文字を(任意の順序で)含む単語です。 以下のような言葉の教育は、霧笛やキャバレーがすべてのような言葉に対して、緊密な言葉と考えられている学習、クラクションをし、実行していない緊密な言葉です。 チャレンジ 課題は、単一の単語を入力として使用できるプログラムをコードゴルフすることです(すべての意図と目的のために小文字と仮定)。は、結び目の単語であり、結び目の単語でない場合は空の出力です。 例 Input: education Output: cde Input: foghorn Output: fgh Input: cabaret Output: abc Input: hijacking Output: ghi, hij, ijk Input: pneumonia Output: mno, nop Input: klaxon Output: <<no output>> Input: perform Output: <<no output>> Input: learning Output: <<no output>> ルール 入力は単一の小文字の単語であり、出力は小文字でなければならないのに対して、出力の性質はコーディング言語の選択によって異なります。チャレンジの性質、STDOUT、ファイル出力、配列などに最適な出力形式を選択してください。 これはコードゴルフであるため、最も少ないバイト数が明確な勝者である場合になります。 …
22 code-golf  string 

15
Nのパーティションを計算します
あなたの挑戦は簡単です:整数Nを与えられ、合計がNになる正の整数のリストを出力します。たとえば、入力が5の場合、出力する必要があります [1, 1, 1, 1, 1] [1, 1, 1, 2] [1, 1, 3] [1, 2, 2] [1, 4] [2, 3] [5] これらのリストは特定の順序で出力する必要はなく、各リスト内の数字も出力する必要はありません。たとえば、これは「5」の受け入れ可能な出力にもなります。 [1, 1, 1, 2] [5] [3, 1, 1] [2, 1, 2] [4, 1] [1, 1, 1, 1, 1] [2, 3] 入力は正の整数であると安全に想定でき、この数値は任意の妥当な形式で取得できます。 これを行う組み込み関数は使用できません。 プログラムが失敗するか、大きなNに対して時間がかかりすぎる場合、これは問題ありませんが、少なくとも最初の15に対して正しい出力を生成する必要があります。 標準的な抜け穴が適用され、バイト単位の最短回答が勝ちます! テストIO 1: [[1]] 2: …

5
27個の関数の整流
前書き 3要素関数を、それ自体に設定された3要素からの関数として定義してみましょうS = {0,1,2}:のS別の要素の各要素に関連付けSます。三項関数の一例fは f(0) = 0; f(1) = 2; f(2) = 0 正確に27の異なる三項関数があり、それらを0から26の整数で表します:関数fはとしてエンコードされf(0) + 3*f(1) + 9*f(2)ます。上記のサンプル関数は、数値6としてエンコードされます。 2つの3項関数fをg順番に適用できます。f(g(k)) == g(f(k))すべてのkin が成立する場合S、関数は通勤します。あなたの仕事は、これが事実かどうかを確認することです。 入力 入力は、0〜26の範囲の2つの整数です。これらは2つの3項関数fおよびを表しgます。入力は、10進数、2進数、または単項(1sの文字列)形式で行う必要があります。 出力 あなたの出力はtruthy値の場合fとgそうでない場合は通勤、およびfalsey値。入力が順序付けられていると想定することはできません。 例 入力5と16を検討します。これらは3次関数をエンコードします f(0) = 2; f(1) = 1; f(2) = 0 g(0) = 1; g(1) = 2; g(2) = 1 我々は持っているf(g(1)) == f(2) == …

6
古いスペイン語のアルファベット順
1994年以前は、スペイン語の辞書は特殊なアルファベット順を使用していました:ダイグラフでll、chまるで1文字であるかのように考えられていました。chすぐに続きc、llすぐに続いたl。スペイン語にñ続く文字を追加するnと、順序は次のようになりました。 a, b, c, ch, d, e, f, g, h, i, j, k, l, ll, m, n, ñ, o, p, q, r, s, t, u, v, w, x, y, z 1994年以来llとch(二文字のグループとみなされl、lそしてc、hそれぞれ)、そして従って、アルファベット順に文字を除いて、英語と同じですñ。 古い注文は間違いなくもっと面白かったです。 チャレンジ 0個以上の単語のリストを入力し、古いスペイン語のアルファベット順にソートされたリストを出力します。並べ替えは単語間です(単語内の文字間ではありません)。つまり、単語はアトミックであり、出力にはおそらく異なる順序で同じ単語が含まれます。 単純化するために、私たちは手紙を考慮しないであろうñ、またはアクセント付きの母音á、é、í、ó、ú、または文字の大文字。各単語は、ASCII 97(a)からASCII 122(z)までの包括的範囲から取得した1つ以上の文字のシーケンスになります。 l行に3文字以上ある場合は、左から右にグループ化する必要があります。つまり、lllis lland then l(not land then ll)です。 入力形式には、スペースで区切られた単語、改行、または任意の便利な文字を使用できます。単語は引用符で囲まれていてもいなくても、選択できます。単語のリストまたは配列も受け入れられます。合理的な形式はすべて有効です。あなたの答えにそれを述べてください。 同様に、出力は合理的な形式になります(入力と同じである必要はありません)。 コードゴルフ、最短の勝利。 テストケース 次の例では、単語はスペースで区切られています。1行目は入力、2行目は出力です。 llama …

2
2Dダンジョンで宝を見つける
あなたは1階のダンジョンにいます。ロックされたドアで保護されている宝物があります。ドアは、対応するキーを見つけることで開くことができます。あなたの目標は、宝物への最短経路を見つけることです。 入力 入力は、ダンジョンの初期レイアウトを表す2次元のグリッドになります。 ########### #$ # g# # # #### ###G## # # ####C# #c @ # ########### これはあなたです:@ これらは壁です:# これは宝です:$ ロックされたドアは大文字です:A... Z 各ドアには対応する小文字のキーがあります:a...z 常に1つ@あります$ます。 ダンジョンは常に長方形になります。 ダンジョンの外縁が壁であることは保証されません。これは有効なダンジョンです: $ A## @ a 宝が届くとは限りません。ダンジョンの中には、解けないものもあります。 キーのないドアがあるかもしれませんし、ドアを開かないキーがあるかもしれません。 ドアやキーが重複することはありません。 出力 プログラムは、配列を印刷する必要がありR、L、U、D(または4つの他の別個のシンボル)を表すために最短宝への可能なパス。ここで、RLUD右、左、上、下をそれぞれ表します。複数の最短パスがある場合、プログラムはそれらの1つを印刷するだけです。 壁に移動することはできません。 ダンジョンの境界の外側に移動することはできません。 鍵を拾わずにドアに移動することはできません。 キーに移動してそれを拾います。 すべてのドアを開く必要はありません。 有効な一連の移動で宝物に到達できない場合、プログラムは何も印刷せずに終了する必要があります。(末尾の改行が許可されます。) 得点 これはコードゴルフなので、バイト数が最小の答えが勝ちです。 テストケース 各テストケースには、最初の行にダンジョンの高さと幅があり、最後の行に最適な移動数で1つの可能なパスがあります。 1 2 @$ R …

12
多項式受容
f,g整数に対する任意の次数の2つの多項式が与えられた場合、プログラム/関数は2番目の多項式の最初の多項式を評価する必要があります。f(g(x))(別名組成物 (fog)(x) 2つの多項式の) 詳細 組み込みが許可されます。入出力として適切なフォーマットを想定できますが、入力と出力のフォーマットは一致する必要があります。例えば、文字列としてのフォーマット x^2+3x+5 または係数のリストとして: [1,3,5] or alternatively [5,3,1] さらに、入力多項式は完全に拡張されると想定でき、出力も完全に拡張されると予想されます。 例 A(x) = x^2 + 3x + 5, B(y) = y+1 A(B(y)) = (y+1)^2 + 3(y+1) + 5 = y^2 + 5y + 9 A(x) = x^6 + x^2 + 1, B(y) = y^2 - y A(B(y))= y^12 …

3
ドットをたどる
チャレンジ 文字の長方形グリッドを考える ABCDE FGHIJ クルムノ PQRST そして、ドットとスペースと同じ寸法のグリッド 。。。 。。。 。。 。。。 左上隅から始まるグリッドをドットでたどって生成される文字列を出力します。この例では次のようになりますABGLQRSNIJE ノート 入力グリッドは、複数行の文字列ではなく、2D配列または言語の最も近い代替物として使用できます。 スペースの代わりに、言語のNULL値を使用できます。ただし、パスをマークするにはドットを使用する必要があります。 同じ行にドットをスペースで区切る必要はありません。読みやすくするために追加しました。 最小のグリッドのサイズは1x1です。 開始点と終了点には、隣人が1人だけいます。それらの間のドットには、常に正確に2つの垂直または水平の隣人がいます。これにより、パスが明確になります。 パスは斜めになりません。 グリッド内の文字は、[a-z]最も便利な範囲内のすべて大文字または小文字のいずれかになります。 パスは常に左上隅から始まります。 ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース グリッド#1 ABCABCW デフフク XLUSDQZ ASUKWXI ウコイム アイアイオープ 。。 。。。 。 。。。。 。 。 => ABEFGSKUSAWA 。。。。。。。 。 。。。。 。。。。 。。 。。。。。。。 => ABCABCWQZIMPUOIAIAWAXLUUK …
22 code-golf  string  grid 

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