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

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

4
矩形差
この課題では、2つの重複する長方形が与えられ、一方を他方から削除して作成された長方形を計算する必要があります。 たとえば、黒い長方形から赤い長方形を削除する場合: 次の2つの長方形セットのいずれかになります。 また、以下を処理する必要があります。 より明確にするには: AとBの2つの長方形の座標を入力します。 Bを除くAのすべての領域をカバーする、重複しない最小の長方形を出力する必要があります。可能なカバーは許可されています 直交座標は4つの整数として渡されます。2つのペア(2つのコーナーポイントを表す)で、または4つの整数のタプル/リストとして渡すことができます。入力と出力は一貫している必要があります。 AとBは必ずしも重複または接触するわけではなく、それぞれ少なくとも1 テストケース: [(0 0) (5 5)] [(3 4) (8 7)] -> [(0 0) (5 4)] [(0 4) (3 5)] # or [(0 0) (3 5)] [(3 0) (5 4)] [(2 4) (10 11)] [(5 5) (6 6)] -> [(2 4) (10 5)] …

28
パートナーを見つける
チャレンジ 2タプルの任意のリストと、それらのタプルの1つにある単一の要素が与えられた場合、その「パートナー」、つまりgiven aおよび[(i,j),...,(a,b),...,(l,m)]outputを出力しますb。すべてのタプルは一意であり、タプル内のすべての要素は文字列であると想定できます。また、あなたは両方を持っていないと仮定(x,y)して(y,x)。 テストケース Input Output [("(", ")"), ("{", "}"), ("[", "]")], "}" "{" [("I'm", "So"), ("Meta", "Even"), ("This", "Acronym")], "Even" "Meta" [("I", "S"), ("M", "E"), ("T", "A")], "A" "T" [("test", "cases"), ("are", "fun")], "test" "cases" [("sad", "beep"), ("boop", "boop")], "boop" "boop" 最少バイト数が勝ちます!

11
ラプンツェル、ラプンツェル、あなたの髪を失望させます!
説明 誰もがラプンツェルと王子のおとぎ話を知っていると思います。そうでない人のために:ここでそれを読んでください。しかし、ラプンツェルは髪を切ったばかりだったので、王子を登らせるのに十分な長さではなかったかもしれません!彼女はとても悲しくなります。 チャレンジ あなたの仕事は、王子が彼女の髪を落とすように彼女を求めるときにラプンツェルが言っていることを評価する関数を書くことです。s Aaaah!の数がa同じであることでveeeery幸せと言いlength of her hair - height of the towerます。それ以外の場合は、彼女の髪は、十分な長さを持っていない、と彼女は泣いて開始しますBooho!。ここで、osの前hの平等な三分の二height of the tower - length of her hair、及びoS hは休息された後。oの後のs の数はB丸める必要があるため、を取得2.6する場合は3 oがあり、その他はの後になければなりませんh。 I / O 正の整数(nullを含む)は、引数として、リストとして、または2つの単一の数字として、最も便利な順序で与えられますが、それらの順序を指定する必要があります。出力として、ラプンツェルが言っていることを印刷します。 テストケース テストケースでは、最初の数字は髪の長さです。 0, 0 -> 'Bh!' (probably a dry sob..) 2, 1 -> 'Aah!' 1, 2 -> 'Boh!' 1, 4 -> 'Booho!' …
20 code-golf 

21
フィボナッチ数内
チャレンジ 整数の入力が与えられると、フィボナッチ数のインデックス(0または1から始まるインデックス-あなた次第ですが、答えはどれかを明記してください)とともに入力を含む最初のフィボナッチ数を返します。たとえば、12の入力が与えられた場合26: 121393、数値(12 1393)内で12が検出され、フィボナッチ数のインデックス26にあるため、プログラムは戻ります。 例 入力が与えられた場合: 45 プログラムは以下を出力するはずです。 33: 3524578 入力: 72 出力: 54: 86267571272 入力: 0 出力: 0: 0 入力: 144 出力: 12: 144 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。

14
スペイン語IDカード制御文字計算機
これは非常に単純なアルゴリズムであり、多くの異なる言語で解決できると確信しています。スペインでは、IDカード(DNIとして知られる)は8つの数字と1つの制御文字で構成されています。制御文字は、次のアルゴリズムを使用して計算されます。数値を23で除算し、操作の残りを取得して、この表に従って文字で置き換えます。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 T R W A G M Y F P D X B N J Z S Q V H L C K E DNIがスペインに住んでいる外国人のものである場合、最初の数字はに変更されX、YまたはNIEZと呼ばれます。この場合、制御文字を計算する前に次の置換が行われます。 X Y …

14
パスカルの菱形
パスカルの菱形(実際には三角形)は、次のパターンを追加することによって取得されます。 * *** x の代わりに * * x これは、各セルがそのすぐ上の行の3つのセルとその上の行2の1つのセルの合計であることを意味します。Pascalの三角形のように、0番目の行には1三角形を生成する単一の行があります。 これがパスカルの菱形の最初の数行です 1 1 1 1 1 2 4 2 1 1 3 8 9 8 3 1 仕事 行番号(上から始まる)と列番号(その行の最初の非ゼロ項目から始まる)を指定すると、その特定のセルの値が出力されます。両方の入力に1または0のインデックスを付けることができます(必要に応じて組み合わせることができます)。 これはコードゴルフなので、ソースコードのファイルサイズをできるだけ小さくすることを目指してください。 OEIS A059317

29
リストの2番目の最大値を実行しています
整数のリストが与えられた場合、タスクは、2から入力リストの長さまでの各kについて、最初のk要素で2番目に大きい値を出力することです。 言い換えると、入力の各プレフィックスに対して2番目に大きい値を出力します。 最初の要素(k = 1)に任意の値を出力するか、1つの要素のリストに2番目の最大値がないため、この値を単純に省略できます。入力に少なくとも2つの要素があると仮定できます。 最短のコードが優先されます。 例 Input: 1 5 2 3 5 9 5 8 Output: 1 2 3 5 5 5 8 Input: 1 1 2 2 3 3 4 Output: 1 1 2 2 3 3 Input: 2 1 0 -1 0 1 2 Output: 1 1 …

30
スクエアはどのように終わりますか?
ベース-10では、すべての完全な正方形はで終わる0、1、4、5、6、又は9。 ベース-16では、すべての完全な正方形はで終わる0、1、4、または9。 Nilknarfは、この答えの理由とこれをうまく解決する方法について説明していますが、ここでも簡単に説明します。 10 進数のNを 2乗すると、「1」桁は「10」桁や「100」桁などの影響を受けません。だけで「1」の数字Nはの「1」の数字に影響するN 2を簡単に(多分ないgolfiest)の方法は、すべての可能な最後の数字を見つけることのために、N 2を見つけることですnは2 MOD 10はすべてのために0 <= N < 10。各結果は、可能な最後の数字です。Base-mの場合、すべての0 <= n < mに対してn 2 mod mを見つけることができます。 入力Nが与えられると、Base-Nの完全な正方形のすべての可能な最後の数字を出力する(重複なしで)プログラムを作成します。あなたは、想定し得るNがより大きく、0、そのNは、という小さな十分であるN 2がオーバーフロー(あなたがすべての方法をテストすることができない場合はN 2は、私は、あなたのブラウニーポイントの有限量をあげるが、ことを知っていますブラウニーポイントから実際のポイントへの交換レートは1から無限大です)。 テスト: Input -> Output 1 -> 0 2 -> 0,1 10 -> 0,1,5,6,4,9 16 -> 0,1,4,9 31 -> 0,1,2,4,5,7,8,9,10,14,16,18,19,20,25,28 120 -> 0,1,4,9,16,24,25,36,40,49,60,64,76,81,84,96,100,105 これはcode-golfなので、標準のルールが適用されます! (これがあまりにも簡単だと思う場合、またはトピックに関するより詳細な質問が必要な場合は、この質問を検討してください:正方形の二次剰余検定の基底の最小カバー)。

30
私の価値はどこですか?
私の上司は、配列内のアイテムを検索し、その値が発生するインデックス/インデックスを彼に与えるメカニズムを実装するようになりました。 あなたのタスク: 配列と値(String、Integer、Float、またはBoolean)を受け取り、値が発生する配列のインデックスを返すプログラムまたは関数を作成します(インデックスが0または1のいずれか)。値が配列にない場合、空の配列を返します。 入力: Aに存在する場合と存在しない場合がある配列Aと値V。 出力: VがAで発生するインデックスを含む配列、またはVがAで発生しない場合は空の配列。 テストケース: テストケースは0ベースであることに注意してください。 12, [12,14,14,2,"Hello World!",3,12,12] -> [0,6,7] "Hello World", ["Hi", "Hi World!", 12,2,3,True] -> [] "a", ["A",True,False,"aa","a"] -> [4] 12, [12,"12",12] -> [0,2] 得点: これはcode-golfであるため、バイト単位の最低スコアが優先されます。

28
これらの識別子は同等ですか?
言語Nimでは、識別子を区別するための規則は、他のほとんどの言語よりもわずかに緩和されています。これらのルールに従う場合、2つの識別子は同等であるか、同じ変数に対応します。 両方の最初の文字は同じです (大文字と小文字が区別されます) 両方の文字列が同じである(場合に敏感な)除去した後、すべてのインスタンスの文字を-と_ チャレンジ Nim識別子を表す2つの文字列を受け取り、上記のルールで同等であるかどうかに基づいてtrueまたはfalseの値を出力するプログラム/関数を作成します。 仕様書 標準のI / Oルールが 適用されます。 標準的な抜け穴は禁止されています。 文字列にはASCII印刷可能文字のみが含まれます。あなたはしていない、それは有効な識別子だかどうかを確認する必要があります。 文字列は、2つの個別の入力、文字列のリストなどとして使用できます(ドリルを知っています)。 空の文字列を処理する必要はありません。 出力は、真偽値と偽値の両方で一貫している必要があります。 この課題は、すべての言語で最短のアプローチを見つけることではなく、各言語で最短のアプローチを見つけることです。 あなたのコードがされるバイト数で得点特に指定がない限り、通常はエンコーディングUTF-8で、。 このタスクを実行する組み込み関数は許可されますが、組み込みに依存しないソリューションを含めることをお勧めします。 「実用的な」言語であっても説明が奨励されます。 テストケース Input Output count, Count falsey lookMaNoSeparator, answer falsey _test, test falsey test, tset falsey aVariableName, a_variable_name truthy numbers_are_cool123, numbersAreCool123 truthy symbolsAre_too>_>, symbols_areTOO>> truthy Ungolfedリファレンス実装 これはNimで書かれています。 import strutils, re proc …

22
行列入力を簡素化する!
マトリックスに関連するいくつかの課題を書きましたが、すべての場合に共通するのは、マトリックスを表現するときに、例とテストケースの両方で、次のような形式を使用することです。 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 これは、多くの言語では面倒な形式である可能性があります。 チャレンジ: 入力としてtopで指定された形式の行列を取得できるプログラム/関数を作成し(この投稿から直接コピー/貼り付け)、以下に示す他の3つの従来の形式すべてで同じ行列を出力します。 入力形式: さまざまな数のスペースで区切られた数字、および行を表す改行(テストケースを参照)。 数字間のスペースの数は、一貫しているとは限りません。ただし、各列の最後の桁が揃っていると想定することもできます(それが役立つ場合)。 整数と浮動小数点の両方があり、それらは正、負、またはゼロです。マトリックスには、整数と浮動小数点数が同時に含まれません。 負の浮動小数点数のマイナスと小数点を含めて、10文字より長い数字はないと想定できます。 各行と各列に同じ数のエントリがあると仮定できます。 空の入力マトリックスはありませんが、単一の数値、または行または列が1つだけのマトリックスを使用できます。 これらの場合、テストケースに示されている出力形式から選択できます。 プログラム/関数は、この投稿から直接コピーされ、インタープリターに貼り付けられた場合(STDINまたは関数の引数または同等のものとして)入力を処理する必要があります。マトリックスの前後に、好きなもの(括弧、引用符、括弧)を置くことができますが、マトリックスを変更できない文字列(改行を含む)と見なす必要があります。 明確にするために:関数/プログラムが呼び出さfれ、マトリックスが次のとおりであると仮定します。 1 -2 3 5 6 7 次に、このような関数引数として行列を与えることができます(そして他の無限に多くのオプション): f(1 -2 3 5 6 7) f([1 -2 3 5 6 7]) f("""1 …

4
四辺形を分類する| 数学の試験で私を助けてください!
助けて!私の数学の試験はすぐに来て、私は勉強しませんでした!1試験の一部は、頂点座標を指定して四角形を分類することです。残念ながら、その方法はわかりません。2 だから、あなたの挑戦は私のためにこれを行うプログラムを書くことです。そうすれば私は失敗しません! チャレンジ 3つの頂点が同一直線上にない4つの頂点が与えられた場合、それらの4つの頂点によって形成される四辺形の最も具体的な分類を決定します。 「最も具体的な分類」とは、すべての正方形が長方形であっても、形状が正方形である場合、長方形であることを示すのではなく、正方形であることを示す必要があるということです。 入力 入力は4つの(x、y)座標として与えられます。これらは、長さ2のリスト/タプルの長さ4のリストとして取得できます。また、入力をx座標のリストおよびそれぞれのy座標のリストとして取得することもできます。 私の形状がポイントで頂点を持っている場合たとえば、(0, 0)、(5, 0)、(6, 1)、そして(1, 1)、あなたは以下の形式または類似のもののいずれかの入力を取ることを選択することがあります。 [(0, 0), (5, 0), (6, 1), (1, 1)] ([0, 5, 6, 1], [0, 0, 1, 1]) 四辺形は自己交差しておらず、ポイントは正しい順序で与えられていると想定できます(つまり、入力内の連続する2つのポイントは、四辺形の線分で接続されます)。 出力 次の四辺形のクラスごとに一意の出力が必要になります。 平方 矩形 ひし形 平行四辺形 台形/台形 カイト 四辺形 これは、正確な名前そのもの、文字、整数などです。 ルール 標準的な抜け穴が適用されます プログラミング言語にこの正確なタスクを実行するビルトインがある場合、そのビルトインは許可されません。 2点間の距離を見つけるためのビルトインが許可されています。 2本の線の間の角度を見つけるためのビルトインが許可されています。 この時点で、すべての用語を知っていれば、プログラミングを開始できます。(テストケースは最後にあります) 用語 このセクションは、さまざまな形状の定義を明確にする必要がある人を対象としています。 平方 四辺形は、その4辺すべての長さが等しく、隣接する辺のすべてのペアが垂直である(つまり、長方形と菱形の両方である)場合にのみ、正方形です。 矩形 …

16
マトリックスの行/列にN個の連続した番号がありますか?
入力として正の整数と単一の正の整数Nで構成される行列Aを取り、少なくとも内の行または列に同じ数の連続した出現が N個ます。 水平方向と垂直方向のテストのみが必要です。 テストケース N = 1 A = 1 Result: True ---------------- N = 3 A = 1 1 1 2 2 3 Result: True ---------------- N = 4 A = 1 1 1 2 2 3 Result: False ---------------- N = 3 A = 3 2 3 4 …

30
私は自己同型の数ですか?
Automorphic番号は、10を底とする正方形の接尾辞である番号です。これは、OEISのシーケンスA003226です。 あなたのタスク: 入力がオートモーフィック数であるかどうかを判断するプログラムまたは関数を作成します。 入力: 0〜10 ^ 12(両端を含む)の整数。これは、オートモーフィック数である場合とそうでない場合があります。 出力: 入力がオートモーフィック数であるかどうかを示す真実/偽の値。 例: 0 -> truthy 1 -> truthy 2 -> falsy 9376 -> truthy 8212890625 -> truthy 得点: これはcode-golfであり、バイト単位の最低スコアが勝ちます。

30
適切な除数マッシュアップ
適切な除数がある除数数のNはない、N自体。たとえば、12の適切な除数は1、2、3、4、6です。 あなたは与えられます整数 X、X ≥2、X≤1000。あなたの仕事は、2からxまでの整数のすべての最高の適切な除数を合計することです(包括的)(OEIS A280050)。 例(とx = 6): 2〜6(両端を含む)の間の整数をすべて検索します:2,3,4,5,6。 それらすべての適切な除数を取得し、各数値から最も高い除数を選択します。 2-> 1 3-> 1 4-> 1、2 5-> 1 6-> 1、2、3。 最高の固有除数を合計します1 + 1 + 2 + 1 + 3 = 8。 最終結果は8です。 テストケース 入力| 出力 ------- + --------- | 2 | 1 4 | 4 6 | 8 8 | …

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