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

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

30
回転した文字列を検出する
から2つの文字列を読み取りますstdin。一方の文字列が他方の文字列の回転バージョンである場合に 出力Yesされます。 それ以外の場合は出力No テストケース 入力 CodeGolf GolfCode 出力 Yes 入力 stackexchange changestackex 出力 Yes 入力 stackexchange changestack 出力 No 入力 Hello World 出力 No
20 code-golf  string 

19
基本的な電卓
計算機に入力される文字列を評価するプログラムを作成する必要があります。 プログラムは入力を受け入れ、正しい答えを出力する必要があります。標準の入出力関数を持たない言語の場合、関数readLineおよびを想定できますprint。 必要条件 いかなる種類の「評価」関数も使用しません 浮動小数点数と負数を処理できます 少なくとも+、-、*、および/演算子をサポートします 演算子と数字の間に1 つ以上のスペースを含む入力を処理できます 式を左から右に評価します 最短のプログラムが勝ちます。同点の場合、最初に提出されたプログラムが勝ちます。 入力が有効で、正しい形式に従っていると想定できます テストケース 入力 -4 + 5 出力 1 入力 -7.5 / 2.5 出力 -3 入力 -2 + 6 / 2 * 8 - 1 / 2.5 - 18 出力 -12

30
最初に奇数を並べ替えます
すべての奇数がすべての偶数の前に表示されるように、指定されたリストを再配置します。この要件に加えて、出力リストの順序は任意です。 入力には整数のみが含まれますが、それらは負であり、重複がある場合があり、任意の順序で表示される場合があります。 最短のソリューションが勝ちます。 テストケース [1,2] → [1,2] [2,1] → [1,2] [1,0,0] → [1,0,0] [0,0,-1] → [-1,0,0] [3,4,3] → [3,3,4] [-4,3,3] → [3,3,-4] [2,2,2,3] → [3,2,2,2] [3,2,2,2,1,2]→ [1,3,2,2,2,2]または[3,1,2,2,2,2] [-2,-2,-2,-1,-2,-3]→ [-1,-3,-2,-2,-2,-2,]または[-3,-1,-2,-2,-2,-2,] [] → []

30
コードポイントサムクイン
このサイトでのすべての馬の挑戦は、バイト数またはキャラクター自体に焦点を合わせています。これは違います。あなたの課題は、ソースのコードポイントの合計と同じコードポイントの合計を持つ出力を生成するプログラムを作成することです。 コードポイントの合計を生成するには: プログラムの文字セット内の文字の値を見つけます。 たとえばFOO、ASCIIの場合:F= 70、O= 79、O= 79 それらをすべて追加します。ASCIIの コードポイントの合計FOO:F+ O+ O= 70 + 79 + 79 = 228。 ASCII和クインの例は、ソースコードがABCあり、出力があった場合!!!!!!です。これは、ソースのASCII値の合計(A= 65、B= 66、C= 67、合計= 198)が、出力のASC​​II値の合計(!= 33、33 * 6 = 198)と同じであるためです。。BBBのように、有効な出力にもなりますcc。 ルール あなたのプログラムは、リバース、シャッフル、エラー、またはその他の「真の」クインであってはなりません。詳述するには:出力にソースと同じ文字がすべて含まれている場合、それは無効です。 プログラムでは、コンパイラ/インタープリターからのエラー/警告を出力として使用できません。 プログラムのソースは、出力と同じコードページを使用する必要があります。 あなたのプログラムは、このチャレンジよりも前に作成されたコードページを使用できます。 プログラムの出力には、改行とタブを除き、印刷できない文字(ASCII 0〜31、または127以上)を含めることはできません。 標準の抜け穴が適用されます。 ソースまたは出力に末尾の改行がある場合、コードポイントの合計に含める必要があります。 コンパイラフラグは、ソースのコードポイントの合計ではなく、最終バイトカウント(スコア)に含める必要があります。 出力/ソースは空ではないかもしれません。 得点 コードポイントの合計ではなく、バイトカウントの最短回答が勝ちます。このヘッダー形式の回答を使用してください: # Jelly, 12 bytes, sum 56 (SBCS) このツールを使用して、 ASCIIの合計を計算できます。 …
20 code-golf  quine 

5
コイン問題
バックグラウンド Golfenistanの架空の国の公式通貨はfooであり、流通しているコインは3種類、3 foo、7 foo、8 fooのみです。これらのコインを使用して、4 fooなどの特定の金額を支払うことは不可能であることがわかります。それでも、十分な量をすべて形成できます。あなたの仕事は、コインでは形成できない最大量(この場合は5 foo)を見つけることです。これはコイン問題として知られています。 入力 入力は、流通しているコインの価値を表す正の整数のリストです。次の2つのことが保証されています。L = [n1, n2, ..., nk] の要素のGCD Lは1です。 L 番号1は含まれません。 ソートされていないか、重複している可能性があります(特別版のコインを考えてください)。 出力 のGCD Lは1 なので、十分に大きい整数mはすべて、その要素の非負の線形結合として表現できます。言い換えれば、 m = a1*n1 + a2*n2 + ... + ak*nk 一部の整数の場合。出力は、この形式では表現できない最大の整数です。ヒントとして、およびが(reference)の最大要素と最小要素である場合、出力は常により小さいことが知られています。ai ≥ 0(n1 - 1)*(nk - 1)n1nkL ルール 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。あなたの言語がこのための組み込み操作を持っている場合、あなたはそれを使用してはいけません。回答を投稿する前にテストケースを評価できる必要があることを除いて、時間やメモリの効率に関する要件はありません。 このチャレンジを投稿した後、ユーザー@vihanはStack Overflowに完全な重複があることを指摘しました。このMetaディスカッションに基づいて、このチャレンジは重複として削除されません。ただし、SOバージョンの回答に基づくすべての回答は、オリジナルを引用し、コミュニティWikiのステータスを付与し、オリジナルの著者が回答をここに投稿したい場合は削除するようお願いします。 テストケース [3, 7, 8] -> 5 [25, …

7
ローリングクインダイス
自分自身を出力するプログラムを作成します。 ただし、ソースコードがn回繰り返される場合(ソースコードのコピーを末尾にn-1回連結することを意味します)、元のソースコードを出力する1 / nの確率、出力する1 / nの確率が必要ですソースコードは2回繰り返され、ソースコードを出力する1 / n確率は3回繰り返され、...、およびソースコードを出力する1 / n確率はn回繰り返されます。 たとえば、プログラムがの場合、foobar常に正確に出力する必要がありますfoobar。あなたが実行した場合しかし、foobarfoobarfoobarfoobar、そこに出力の各¼のチャンスである必要がありfoobar、foobarfoobar、foobarfoobarfoobarとfoobarfoobarfoobarfoobar。 各可能な出力の分布は等しくなければなりません 適用される標準のI / Oメソッドと禁止される標準の抜け穴に加えて、標準のクインルールが適用されます(独自のソースにアクセスできないなど) これはコードゴルフなので、バイト単位の最短回答が勝ちます

2
最大nのサイズの正方形を含む最小の長方形の領域を見つける
これは、OEISシーケンスA038666に適用される通常のタイプのシーケンス質問です。つまり、次のいずれかを実行します。 宇宙の熱死まで、入力をまったくまたはまったく受け入れず、A038666を出力します。 入力として正の整数を受け入れ、A038666の番目の項またはその最初の項を出力します。(インデックス付けの代わりにを使用する場合、もちろん入力時に出力する必要があります。)nnnnnn00011110 A038666 の番目の項は、インデックスを使用している場合、サイズが重複しない正方形を含む長方形の中で最小の領域です。nnn1 × 1 、2 × 2 、... 、N × N1×1,2×2,…n×n1\times1,2\times2,\dots n\times n111 例: サイズの非重複正方形含有することができる最小面積の矩形介して寸法有し:1 × 11×11\times14 × 44×44\times47 × 57×57\times5 4 4 4 4 3 3 3 4 4 4 4 3 3 3 4 4 4 4 3 3 3 4 4 4 4 2 …

12
Landauの関数を計算する
Landauの関数 (OEIS A000793)は、対称群要素の最大次数を与えます。ここで、置換順序は最小の正の整数、が恒等式であり、これは置換のサイクル分解におけるサイクルの長さの最小公倍数に等しくなります。たとえば、は、たとえば(1,2,3)(4,5,6,7)(8,9,10,11,12,13,14)によって達成されます。g(n )g(n)g(n)SnSnS_nππ\pikkkπkπk\pi^kg(14 )= 84g(14)=84g(14) = 84 したがって、はの最大値にも等しくここでは正の整数です。g(n )g(n)g(n)lcm(a1,…,ak)lcm⁡(a1、…、ak)\operatorname{lcm}(a_1, \ldots, a_k)a1+⋯+ak=na1+⋯+ak=na_1 + \cdots + a_k = na1,…,aka1、…、aka_1, \ldots, a_k 問題 Landauの関数を計算する関数またはプログラムを作成します。 入力 正の整数。nnn 出力 g(n)g(n)g(n)、対称グループ要素の最大次数。SnSnS_n 例 n g(n) 1 1 2 2 3 3 4 4 5 6 6 6 7 12 8 15 9 20 10 30 11 …

4
ボウルパイルの高さを計算する
ボウル杭高さ このパズルの目標は、ボウルの山の高さを計算することです。 ボウルは、厚さのない放射状に対称なデバイスとして定義されます。そのシルエット形状は偶数多項式です。スタックは、それぞれが偶数の多項式に関連付けられた半径のリストで記述され、係数のリストとして入力として与えられます(たとえば、リスト3.1 4.2は多項式表します)。3.1 x2+ 4.2 x43.1x2+4.2x43.1x^2+4.2x^4 多項式の次数は任意です。簡単にするために、パイルの高さは一番上のボウルの中心の高度として定義されます(例については例3のプロットを参照)。 テストケースの形式はradius:coeff1 coeff2 ...次のとおりです。各行はボウルの半径を表す浮動小数点数で始まり、コロンと、べき乗の係数を含むスペースで区切られたリストが続きます。 。たとえば、線2.3:3.1 4.2は半径のボウル2.3と形状多項式を示し3.1 * x^2 + 4.2 * x^4ます。 例1 42:3.141 単一のボウルには高さがないため、高さゼロのパイルを表します。 例2 1:1 2 1.2:5 1:3 高さの山を表し2.0ます(プロットを参照)。 例3 1:1.0 0.6:0.2 0.6:0.4 1.4:0.2 0.4:0 10 高さ0.8のパイルを示します(プロットの緑の矢印を参照)。 これはコードゴルフなので、最短のコードが勝ちます。 私が持っている参照コードを。 編集: リファレンス実装は、ライブラリを使用して多項式の根を計算します。あなたもそれを行うことができますが、する必要はありません。参照実装は(非常に良い)数値近似にすぎないため、一般的な浮動小数点の許容範囲内で正しい結果を生成するコードを受け入れます。 アイデアは重要です。小さなerrosがあるかどうかは気にしません。&lt; ε&lt;ε<\varepsilon このパズルのもう1つのバリエーションは、ボウルを並べ替えて高さを最小化することです。高速な解決策があるかどうかはわかりません(NPハードだと思います)。誰かがより良いアイデアを持っている場合(またはNP完全性を証明できる場合)、教えてください!

6
2つのリンクされたプログラムを使用して、最大nまでの序数を出力します
...序数(または序数)は、順番に位置またはランクを表す単語です。 ウィキペディアから。 タスクは、2つの異なるプログラム(そのうち2つの異なる言語から作成可能)を使用して、最初からの順序シーケンスを出力しnthます。secondではなく、完全な単語を出力し2ndます。 序数の課題は、特にこのエントリで以前に取り上げられました。この課題では、序数は、以下で詳述する固有の条件を促進するための手段にすぎません。 パート1 の入力が与えられたときに何かをn出力する必要があるプログラムを作成する必要があります。常に999以下の正のゼロ以外の整数になります。 n 有効な出力には次のものが含まれますが、これらに限定されません。 stdout/ stderr/などへの出力 ファイル/フォルダー/などの作成 あらゆる種類のグラフィカルインターフェイスまたは画像 何でもあり。 パート2 パート1のプログラムの出力を使用して、1(最初)から始まりn、パート1で解析されたものまでの順序数のシーケンスを出力するプログラムを作成する必要があります。 一般的な条件: パート2の合計バイトは、パート1の合計バイト(以下)を超えてはなりません。 出力条件: 大文字と小文字を区別しません。 出力には、順序シーケンス(a〜zの文字のみ)と空白(改行が許可されている)のみが含まれている必要があります。 実行中または実行後に表示される限り、任意のソースに出力できます。 出力が正しい限り、プログラムを終了する必要はありません。 出力には文法は必要ありませんが、オプションでそれを含めることができます(ハイフン、コンマ、「ands」など)。nine hundred ninety ninthはと同じくらい受け入れられnine hundred and ninety-ninthます。 サンプル出力 n8はどこですか FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH 得点 勝利条件の階層は次のとおりです。 パート1の最小バイト数 パート2の最小バイト数 Entry #1 | Part 1 = 32 …
19 code-golf 

15
展開と契約
入力として正の整数を取ります。スタートと繰り返し増加 10の最大の整数乗で、このようなことと。kkkn := 1n:=1n := 1nnn私私iI ≤ n個私≤ni \le nI + N ≤ K私+n≤ki + n \le k まで繰り返し、最初のと最後の両方を含むすべての中間値のリストを返します。n = kn=kn = knnn111kkk このプロセスの間、成長は最初は前者の不平等によって制限され、その後は後者によってのみ制限されます。成長は、初期の「拡張」期間の形をとる、その間であろうその間に「契約」期間が続くますます大きな力、増加された「ズームイン」するために、ますます小さい力だけ増加されます正しい番号で。nnnnnn テストケース 1 =&gt; [1] 10 =&gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 321 =&gt; [1, 2, 3, 4, 5, 6, 7, 8, …

10
並べ替えられたサブセットに基づいてマスターリストを並べ替える
最近、職場で解決すべき問題がありました。マスターリストと、マスターリスト内のアイテムのサブセットが異なる順序で含まれている可能性がある2つのリストがありました。リストにないアイテムの順序を変更せず、可能な限り同じ場所にアイテムを保持することなく、サブセット内のアイテムが同じ順序で表示されるように、マスターリストを並べ替える必要がありました。さて、それはおそらく混乱を招くように聞こえるので、私はそれを分解します: マスターリストは、アイテムのデフォルトの順序を定義します。 サブセットリストは、特定のアイテムの相対的な順序を定義します。 マスターリストに2つの要素があり、サブセットリストに従って順序が狂っている場合、マスターリストの前の項目は、サブセットリスト内の他の項目に対して正しい位置にある最も早いインデックスに移動する必要があります。(つまり、後の項目の直後) あなたの仕事は、この並べ替えアルゴリズムを実装することです。 テストケースの例 Master: [1, 2, 3] Subset: [] Result: [1, 2, 3] Master: [9001, 42, 69, 1337, 420] Subset: [69] Result: [9001, 42, 69, 1337, 420] Master: [9001, 42, 69, 1337, 420, 99, 255] Subset: [69, 9001, 1337] Result: [42, 69, 9001, 1337, 420, 99, 255] …

15
ローマ数字に一致
チャレンジ 何らかの入力文字列が与えられ、1(= I)から3999(=MMMCMXCIX)のそれ以外の場合は偽値を返します。 詳細 入力は、文字のみで構成される空でない文字列ですIVXLCDM。 ローマ数字(このチャレンジでここで使用する)は、次のように定義されます。 次の記号のみを使用します。 Symbol I V X L C D M Value 1 5 10 50 100 500 1000 文字列が実際に有効なローマ数字であるかを定義するには、それは会話のルールを提供するために、おそらく最も簡単である10進数を書き込むにはa3 a2 a1 a0(それぞれがどこai。一桁を表し例を表すためにそうするために792、我々は持っているa3=0, a2=7, a1=9, a0=2。)ローマ数字として、我々はそれを分解する十の力に。10のべき乗は、次のように記述できます。 1-9: I, II, III, IV, V, VI, VII, VIII, IX 10-90: X, XX, XXX, XL, L, LX, LXX, LXXX, XC …

5
テトリス!最終的な高さ(3日目)
大学のコードチャレンジコンテストからのチャレンジ これは実際には0日目ですが、昨日の挑戦はあまりにも簡単で、ここで別の質問をだましてしまう可能性があります。 テトリスは、80年代に人気を博したビデオゲームです。ボードに収まるさまざまな形状の一連のピースを配置して、可能な限りコンパクトに収まるようにします。 この問題では、それぞれが特定の位置にあり、変更できない特定の向きで落ちる一連のピースを想定します。ピースは落下するにつれて積み上げられ、完全な行は削除されません(元のゲームのように)。目的は、すべての破片が落ちた後、ボードの各列の最終的な高さを決定することです。 図に示すように、合計7つの異なる部分があります。 チャレンジ ピースのリストが与えられたら、すべてのピースが落ちた後、ボードからすべての列の高さを出力します ピースは、I、R、Pの3つの数字で構成されます。最初の数字Iは、ピースの識別子です(図と同じ順序で1〜7の数字)。2番目の数値Rは、ピースの回転です。0、90、180、または270の値を取ることができ、反時計回り方向のピースの回転角度を表します。3番目の数字Pは、ピースの位置を示します。ピースが占める左側の列を表します(これは1または0のインデックスになります。指定してください)。 例とテストケース(1インデックス) 与えられた [[1, 0, 1], [4, 0, 1], [5, 90, 4]] 出力 [3, 3, 1, 3, 2] 与えられた [[6, 270, 4], [1, 180, 5], [1, 90, 6], [7, 0, 4]] 出力 [0, 0, 0, 9, 9, 8, 3, 3] 与えられた[[3,0,1],[3,180,3]]出力[1,1,4,4,4] 与えられた[[2,180,1],[2,0,3]]出力[2,2,4,3,3] ノート …
19 code-golf  tetris 

8
二重文字のステガノグラフィ
ステガノグラフィは、特定のキャリア内の特定のメッセージを隠し、疑わしく見えないパッケージを作成します。このチャレンジでは、入力としてASCIIメッセージとASCIIキャリアを使用するプログラムを作成し、メッセージに対応する文字が2倍になることを除いて、キャリアと同じパッケージを返すか印刷します。メッセージ。 ルール: キャリアにすでに同じ文字のシーケンスが複数回含まれており、それらがメッセージの文字のエンコードに使用されていない場合、プログラムはそれらを単一の文字に減らします。 運送業者にメッセージ文字が正しい順序で含まれていない場合、プログラムは何も返さないか、運送業者自体、またはエラーを返します。 メッセージとキャリアが空ではないASCII文字列であると想定できます。 大文字と小文字の区別:Aはaと同等ではありません。 複数のパッケージが有効な場合、プログラムはそれらの一部またはすべてを出力できます。 スペースは、他の文字と同様の文字です。 テストケース: メッセージキャリアパッケージ 「こんにちは」「到着しましたか?」「やったー?」または「それは実現しましたか?」 「先生」「届いたの?」「どうした?」 「foo」「届いたの?」「」または「届きましたか?」またはエラー。 「車」「猫はかっこいい」「CCaats arre col。」 「車」「猫はかっこいい」「」または「猫はクールです。」またはエラー。 「ソファ」「ソファ」「CCoouucchh」 「oo」「oooooooooo」「oooo」 「おお」「おおおおおあ」「おおおお」 これはコードゴルフであるため、最も少ないバイトが勝ちます。

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